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 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 ]

[ group by groupbyfieldlist ]

[order by orderbyfieldlist ]

Argument:  

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

fieldlistfieldlist ::= ( * | 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 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.

Directory

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.

Formatspecifikatorer

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.

I det bakåtkompatibla skriptläget stöds även följande sökvägsformat:

  • absolut

    Exempel: c:\data\

  • relativ till Qlik Sense-appens arbetskatalog.

    Exempel: data\

  • URL-adress (HTTP eller FTP), som pekar till en plats på internet eller ett intranät.

    Exempel: http://www.qlik.com

from_fieldfrom_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.
inlineinline 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. Mer information finns i Formatspecifikatorer.

residentresident 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

autogenerateautogenerate 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 );

  • Ladda data med en funktion i ett SSE-insticksprogram

    tabledescription ::= (table { ,tablefield} )

    Om du inte anger tabellfält används fälten i laddningsordning.

  • Ladda data genom att utvärdera ett skript i ett SSE-insticksprogram

    tabledescription ::= ( script, table { ,tablefield} )

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() tvingar fältet att vara text. Om fältet är numeriskt extraheras textdelen av det duala värdet. Ingen konvertering görs.
  • Mixed() tvingar fältet att vara dualt.

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.

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

wherewhere ä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 byorder 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:  

Anteckning om informationFiltillägget för DataFiles-kopplingar är skiftlägeskänsligt. Till exempel: .qvd.

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!