Många arbetsuppgifter börjar med att importera data från en extern källa. FileMaker är bra på att importera filer av olika format, det svåra kan ibland vara att hitta filen på hårddisken. Även om du ser filen i Finder/Utforskaren behöver du flytta dig genom mappträdet i öppna-dialogrutan för att leta upp den igen. Det går förstås att göra enklare!
Om du ser filen i Finder/Utforskaren, vad kan vara enklare än att dra filen du vill importera och släppa den på din FileMaker-tillämpning?
I det här exemplet importeras en tab-separerad textfil med kolumner för kommun och dess befolkning, en rad per kommun. Befolkningssiffrorna är hämtade från SCB. De 10 kommuner med störst befolkningsmängd visas i ett diagram. Det kunde förstås lika gärna varit gårdagens försäljningssiffror, månadens fondutveckling eller vad du vill importera!
Exemplet ser ut så här:
Exemplet är gjort så att när du släpper en ny fil med befolkningsinformation på tillämpningen, t.ex. för ett annat år, ritas diagrammet om. Tanken är att dra filen från Finder (Mac)/Utforskaren (Windows) och släppa den i den vita ytan upptill till höger på layouten. Den vita ytan där du släpper filen är i själva verket ett container-fält.
I exemplet kan endast information från en fil i taget finnas, det går såklart att skapa nya poster för varje fil, i det här fallet varje år, och visa diagram för respektive post.
Exempeldatabasen består av 2 tabeller. En tabell innehåller endast container-fältet, som är definierat som ett globalt fält, medan den andra innehåller en post för varje rad i filen som importeras, dvs. i det här fallet befolkningssiffrorna.
Jag har använt den nya funktionen i FileMaker 14, Ledtexter i fält, för att visa en text i fältet när det är tomt (s.k. platshållare). Du anger texten i Granskaren i layoutläget under fliken Data när fältet är markerat.
<
<
<
<
Alla poster i tabellen raderas före import så att bara en fil åt gången är importerad. Det sista manuset gör är att ta bort filen från container-fältet och gå tillbaka till layouten med diagrammet som då ritas om.
Den temporära filen exporteras till en temp-mapp och kommer att raderas automatiskt när FileMaker avslutas, variabeln $filnamn sätts till sökvägen till temp-mappen, som fås av funktionen Get (TemporärSökväg), samt namnet på filen du släpper i container-fältet. Filnamnet får du med funktionen GetAsText (container-fältet).
Hur gör jag då för att endast visa de 10 kommuner med störst befolkning? Sortering i fallande ordning efter befolkningsantal görs i relationen mellan den tomma tabellen som visar diagrammet och tabellen med befolkningsinformationen.
<
LeftValues ( List (Befolkning::Antal); 10)
respektive för x-axeln
LeftValues ( List (Befolkning::Kommun); 10)
för att få fram de 10 största.
Vill du inte dra och släppa en fil har jag gjort exemplet så att du också kan klicka i det vita container-fältet och välja fil att importera. Sedan triggas samma manus igång.
Ladda ner exempeldatabas och exempelfiler.
Se en kort film här: