2016

Apr

6

Av

Förra veckan skrev jag om hur enkelt det är att dra-och-släppa filer i FileMakers container-fält och importera dem till en egen tabell samt göra ett enkelt diagram. Denna vecka fortsätter jag på samma tema, men istället för att dra-och-släppa en fil kopierar jag en tabell från en webbsida och klistrar in i en FileMaker-tabell. Och gör några diagram!

Jag använder i princip samma exempel som förra veckan, men har bytt ut container-fältet där jag släppte en fil till ett textfält där jag ska klistra in tabelldata från en webbsida. Jag har valt data om några aktiekurser från Finansportalen, men det kan lika gärna vara dina försäljningssiffror uppdelat efter produktgrupper, eller något annat du enkelt vill importera i FileMaker. Du behöver inte kopiera från en webbsida, det kan gå lika bra med t.ex. från ett PDF-dokument.

I exemplet väljer jag att markera samtliga aktier i tabellen på webbsidan med namn och sex värden för förändring senaste dagen, veckan, månaden osv. När jag markerat hela tabellen på webbsidan väljer jag att kopiera värdena.

ImporteraKopiera_webbtabell

 

Jag går till databasen i FileMaker och klistrar in i ett globalt textfält som jag kallar gText. På samma sätt som förra veckan ser jag till att starta en manus-trigger (scriptutlösare) så fort fältets innehåll förändras.

Jag vill lägga in uppgifterna i en separat tabell, Aktier, med 7 fält för namn och de sex förändringsvärdena som finns på webbsidan jag kopierar från. Jag skulle kunna ha gjort en loop som gått genom innehållet rad för rad och tilldelat varje fält för sig. Det hade förstås fungerat alldeles utmärkt, men det är ganska mycket arbete. Enklare och snabbare är att använda FileMakers inbyggda importfunktion för att importera poster.

Kruxet är förstås att FileMaker endast kan importera poster från en fil. Tricket är att göra en fil av de inklistrade värdena.

I FileMaker 13 kom funktionerna Base64Encode och Base64Decode. Jag har tidigare använt dem för att ladda upp bilder till en webbsida från FileMaker Go. Funktionen Base64Encode omvandlar innehåller i ett fält, t.ex. oftast en bild, till en lång, kodad textsträng. Det är dock inget som hindrar att man omvandlar innehållet i ett textfält till en annan, kodad textsträng, vilket jag ska göra i det här exemplet. Funktionen Base64Decode omvandlar den långa, kodade textsträngen tillbaka till en bild eller originaltext samt kan ha en extra parameter, ett filnamn, så att resultatet blir en fil i ett container-fält. I och med det går det att omvandla en text till en lång, kodad textsträng, för att sedan direkt förvandla tillbaka den till originaltexten och skapa en fil i ett containerfält.

I det här fallet använder jag denna formel för att tilldela ett container-fält:

Base64Decode ( Base64Encode ( ImporteraKopiera::gText ); "aktier.txt")

Det är denna formel jag använder för att omvandla den inkopierade texten i ett textfält (gText) till en fil i ett container-fält. När jag väl har en fil använder jag exakt samma teknik som i förra veckans exempel för att exportera container-fältet till en fil och sedan importera den i en egen tabell.

ImporteraKopiera_manus

 

Denna gång har jag gjort tre olika diagram, på samma sätt som förra veckan, där varje diagram sorteras med hjälp av en relation. Även denna gång hämtar jag de 10 aktier som förändrats mest under vald period (dag, vecka, månad) som jag presenterar i tre olika flikar.

ImporteraKopiera_exempel

 

Ladda ner exempeldatabas.

Skriv en kommentar

  • (will not be published)

Läs också: