Load
LOAD-satsen laddar fält från en fil, direkt från data i skriptet, från en tidigare inläst tabell, från en webbsida, från resultatet av en efterföljande SELECT-sats eller genom att generera data automatiskt. Det går även att ladda data från analyskopplingar.
Syntax:
LOAD [ distinct ] fieldlist
[( from file [ format-spec ] |
from_field fieldassource [format-spec]|
inline data [ format-spec ] |
resident table-label |
autogenerate size ) |extension pluginname.functionname([script] tabledescription)]
[ where criterion | while criterion ]
[order by orderbyfieldlist ]
Argument | Beskrivning |
---|---|
distinct | Du kan använda distinct som predikat om du bara vill ladda unika poster. Om det finns dubblettposter laddas den första. Om du använder föregående load måste du placera distinct i den första load-satsen, eftersom distinct bara inverkar på destinationstabellen. |
fieldlist | fieldlist ::= ( * | field{, * | field } ) En lista på de fält som ska läsas in. Genom att använda * som fältlista anger man alla fält i tabellen. field ::= ( fieldref | expression ) [as aliasname ]Fältdefinitionen måste alltid innehålla en litteral, en referens till ett befintligt fält eller ett uttryck. fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )fieldname är en text som är identisk med fältnamnet i tabellen. Observera att fältnamnet måste omslutas av raka, dubbla citationstecken eller av hakparenteser om det innehåller exempelvis mellanslag. Ibland är fältnamn inte explicit tillgängliga. Då används en annan metod: @fieldnumber representerar fältnumret i en avgränsad tabellfil. Det måste vara ett positivt heltal som föregås av "@". Numreringen går alltid från 1 och upp till antalet fält. @startpos:endpos representerar första och sista teckenposition för fältet i en fixpostfil med fasta fältpositioner. Positionerna måste vara positiva heltal. De två talen måste föregås av "@" och avgränsas av kolon. Numreringen går alltid från 1 och upp till antalet positioner. I det sista fältet används n som slutposition.
expression kan vara en numerisk funktion eller en strängfunktion baserad på ett eller flera andra fält i samma tabell. För ytterligare information, se uttryckens syntax. |
from | from används om data ska läsas in från en fil med en mapp eller webbfilsdatakoppling file ::= [ path ] filename Exempel: 'lib://Table Files/' Om sökvägen utelämnas söker Qlik Sense efter filen i den mapp som specificerats av en Directory-sats. Om det inte finns någon Directory-sats söker Qlik Sense i arbetskatalogen C:\Users\{user}\Documents\Qlik\Sense\Apps. Anteckning om informationI en Qlik Sense-serverinstallation anges arbetskatalogen i Qlik Sense Repository Service. Som standard är det C:\ProgramData\Qlik\Sense\Apps. Se Qlik Hanteringskonsol-hjälpen till för mer information. filename kan innehålla standardiserade jokertecken från DOS (* och ? ). Detta får alla matchande filer i den angivna katalogen att läsas in. format-spec ::= ( fspec-item { , fspec-item } )Formatspecifikationen består av en lista med flera formatspecifikatorer inom parentes. Anteckning om tipsOm du till exempel behöver skapa en dynamisk URL baserad på annan data som hämtats kan du använda formatspecifikationen URL is för att åsidosätta en webbfilsdatakopplings URL. Bakåtkompatibel skriptkod I det bakåtkompatibla skriptläget stöds även följande sökvägsformat:
|
from_field | from_field används om data ska läsas in från ett tidigare inläst fält. fieldassource::=(tablename, fieldname) Fältet är namnet på tidigare inlästa tablename och fieldname. format-spec ::= ( fspec-item {, fspec-item } )Formatspecifikationen består av en lista med flera formatspecifikatorer inom parentes. Mer information finns i Formatspecifikatorer. Anteckning om informationfrom_field har bara stöd för komman som listavgränsare vid separering av fält i tabeller. |
inline | inline används om data ska skrivas i skriptet, och inte läsas in från en fil. data ::= [ text ] Data som läses in med en inline-sats måste inledas och avslutas med specifika tecken – hakparenteser, citationstecken eller backticks. Texten mellan dessa tolkas som om den vore skriven i en fil. Precis som du infogar en ny rad i en textfil bör du göra det även i texten i en inline-sats. Klicka på vanligt sätt på returtangenten när du skriver skriptet. I en enkel inline-laddning definieras antalet kolumner av den första raden. format-spec ::= ( fspec-item {, fspec-item } )Du kan anpassa inline-laddningen med många av samma formatspecifikationselement som kan användas för andra laddade tabeller. De här elementen listas inom parentes. Mer information finns i Formatspecifikatorer. Mer information om inline-laddningar finns i Använda inline-laddningar för att ladda data. |
resident | resident används om data ska läsas in från en tidigare inläst tabell. table label är en etikett som föregår de LOAD- eller SELECT-satser som skapade den ursprungliga tabellen. Etiketten ska avslutas med kolon. |
autogenerate | autogenerate används när data ska genereras automatiskt av Qlik Sense. size ::= number Number är ett heltal som anger antalet poster som ska genereras. Fältlistan får inte innehålla uttryck som behöver data från en extern datakälla eller från en tidigare laddad tabell, om du inte hänvisar till ett enda fältvärde i en tidigare laddad tabell med hjälp av Peek-funktionen. |
extension | Du kan ladda data från analytiska kopplingar. Du måste använda extension-satsen för att anropa en funktion som definierats i komplement på serversidan, (SSE) -insticksprogrammet, eller utvärdera ett skript. Du kan skicka en enstaka tabell till SSE-insticksprogrammet. En datatabell returneras. Fälten kallas Field1, Field2 och så vidare om insticksprogrammet inte specificerar namnen på de fält som returneras. Extension pluginname.functionname( tabledescription );
Hantering av datatyp i tabellfältdefinitionen Datatyper identifieras automatiskt i analytiska kopplingar. Om data inte har numeriska värden och minst en icke-NULL textsträng betraktas fältet som text. I alla andra fall betraktas det som numeriskt. Du kan tvinga datatypen genom att radbryta ett fältnamn med String() eller Mixed().
String() eller Mixed() kan inte användas utanför komplement-tabellfältdefinitioner och du kan inte använda andra Qlik Sense-funktioner i en tabellfältdefinition. Mer om analytiska kopplingar Du måste konfigurera analytiska kopplingar innan du kan använda dem. Qlik Sense Enterprise: Skapa en analytisk koppling (endast på engelska) Qlik Sense Desktop: Konfigurera analytiska anslutningar i Qlik Sense Desktop Du kan läsa mer om analytiska kopplingar i GitHub-databasen. qlik-oss/server-side-extension |
where | where är ett tillägg som används för att tala om huruvida en post ska inkluderas i valet eller inte. Valet inkluderas om criterion är True. criterion är ett logiskt uttryck. |
while | while är en sats som används för att tala om när en post ska läsas in upprepade gånger. Samma post läses in så länge criterion är True. För att vara användbar måste en while-sats typiskt sett innehålla en IterNo( )-funktion. criterion är ett logiskt uttryck. |
group by | group by används för att definiera över vilka fält data ska aggregeras (grupperas). Aggregeringsfälten ska på något sätt inlemmas i de uttryck som läses in. Inga andra fält än aggregeringsfälten får användas utanför aggregeringsfunktionerna i inläsningsuttrycken. groupbyfieldlist ::= (fieldname { ,fieldname } ) |
order by | order by är en sats som används för att sortera poster i en resident tabell innan de bearbetas av load-satsen. Den residenta tabellen kan sorteras efter ett eller flera fält, i stigande eller sjunkande ordning. Sortering görs i första hand efter talvärde, i andra hand efter nationell sorteringsspråkvariant. Satsen är endast användbar när datakällan är en resident tabell. Ordningsföljdsfälten anger efter vilket fält resident-tabellen sorteras. Ange fältets namn eller dess nummer i resident-tabellen (det första fältet får nummer 1). orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] } sortorder är antingen asc för stigande eller desc för fallande. Om ingen sortorder anges, antas asc. fieldname, path, filename och aliasname är textsträngar som representerar det namnen antyder. Valfritt fält i källtabellen kan användas som fieldname. Däremot hamnar fält som har skapats med hjälp av as-satsen (aliasname) utanför och kan inte användas inuti samma load-sats. |
Om ingen datakälla anges genom en from, inline, resident, from_field, komplement eller autogenerate-sats kommer data att läsas in från resultatet av närmast efterföljande SELECT- eller LOAD-sats. Den efterföljande satsen får inte ha något prefix.
Läsa in data från en tidigare inläst tabell
Exempel: