Gå till huvudinnehåll

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 analytiska kopplingar.

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 ]

[ group by groupbyfieldlist ]

[order by orderbyfieldlist ]

Arguments:  

Argument
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.

Föregående Load

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.

  • Om@startpos:endpos omedelbart följs av tecknen I ellerU, tolkas inlästa bytes som binärt signerade (I) eller osignerade (U) heltal (Intel byte order). Antalet positioner som läses måste vara 1, 2 eller 4.
  • Om @startpos:endpos omedelbart följs av tecknet R, tolkas inlästa bytes som ett binärt reellt tal (IEEE 32-bitars eller 64-bitars floating point). Antalet positioner som läses in måste vara 4 eller 8.
  • Om @startpos:endpos omedelbart följs av tecknet B, tolkas inlästa bytes som BCD (Binary Coded Decimal)-tal enligt COMP-3-standard. Valfritt antal bytes kan anges.

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.

as används för att döpa om fält.

from

from används om data ska läsas in från en fil med en mapp.

file ::= [ path ] filename

  • Personligt utrymme: [lib://DataFiles/xyz.qvd]

    Du kan inte skapa eller referera till en mapphierarki när du använder DataFiles-kopplingen. Följande stöds till exempel inte: [lib://DataFiles/subfolder1/xyz.qvd]

  • Delat utrymme: [lib://TeamSharedSpace:DataFiles/xyz.qvd]
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.

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 dubbla citationstecken eller hakparenteser. 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. Antalet kolumner definieras av den första raden.

format-spec ::= ( fspec-item {, fspec-item } )

Formatspecifikationen består av en lista med flera formatspecifikatorer inom parentes.

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.

Läsa in data från en tidigare inläst tabell

Tabelletiketter

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.

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

Observera: Filtillägget för DataFiles-kopplingar är skiftlägeskänsligt. Till exempel: .qvd.

Examples: