Load
Der LOAD-Befehl lädt Felder aus einer Datei aus Daten, die im Skript definiert sind, aus einer zuvor geladenen Tabelle, aus einer Webseite, aus dem Ergebnis eines nachfolgenden SELECT-Befehls oder durch automatisches Generieren der Daten. Daten können auch aus Analyseverbindungen geladen werden.
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 | Beschreibung |
---|---|
distinct | Sie können distinct als Prädikat verwenden, wenn Sie nur eindeutige Datensätze laden möchten. Wenn duplizierte Datensätze vorhanden sind, wird die erste Instanz geladen. Wenn Sie vorangehende Ladevorgänge verwenden, müssen Sie distinct in den ersten load-Befehl platzieren, da distinct nur die Zieltabelle betrifft. |
fieldlist | fieldlist ::= ( * | field{, * | field } ) Liste der zu ladenden Felder. * in einer Felderliste bedeutet alle Felder in der Tabelle. field ::= ( fieldref | expression ) [as aliasname ]Die Felddefinition muss immer eine Literale enthalten, einen Verweis auf ein bestehendes Feld oder eine Formel. fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )Dabei ist fieldname ein Text, der einem Feldnamen in der Tabelle entspricht. Beachten Sie, dass der Feldname zwischen geraden doppelten Anführungszeichen oder eckigen Klammern stehen muss, wenn er beispielsweise Leerzeichen enthält. Mitunter sind Feldnamen nicht im Tabellenkopf verfügbar. Verwenden Sie in diesem Fall stattdessen folgende Notation: @fieldnumber bezeichnet die Nummer des Feldes in einer Textdatei mit Trennzeichen. Es muss eine ganze positive Zahl mit vorangehendem "@" sein. Die Nummerierung beginnt stets mit 1 und endet mit der Gesamtzahl der Felder. @startpos:endpos bezeichnet Start- und Endposition eines Feldes in einer Datei mit festen Satzlängen. Die Positionen müssen beide positive ganze Zahlen sein. Beiden Zahlen muss ein "@" vorangehen und sie müssen durch einen Doppelpunkt getrennt sein. Die Nummerierung beginnt stets mit 1 und geht bis zu der entsprechenden Zahl von Stellen. Im letzten Feld wird n als Endposition verwendet.
expression kann eine numerische Funktion oder eine Stringfunktion sein, die sich auf ein oder mehrere Felder derselben Tabelle bezieht. Weitere Informationen finden Sie in den Erläuterungen der Formel-Syntax. |
from | from wird verwendet, um Daten aus einer Datei mithilfe eines Ordners zu laden. Beim Laden aus einer Datei in einem Bereich von Qlik Cloud Analytics muss ein gültiger Pfad verwendet werden. Siehe Regeln für gültige Bereichsordnerpfade. file ::= [ path ] filename In Qlik Cloud Analytics werden hierarchische Ordnerstrukturen unterstützt und können im Befehl referenziert werden. Beispiele:
Weitere Informationen und Beispiele finden Sie unter Laden von Dateien aus Bereichen in Qlik Cloud Analytics. |
from_field | Der Zusatz from_field wird benutzt, um Daten aus einem bereits geladenen Feld zu laden. fieldassource::=(tablename, fieldname) Das Feld wird durch tablename und fieldname definiert. format-spec ::= ( fspec-item {, fspec-item } )Die Formatbezeichnung besteht aus einer Auflistung von Formatoptionen, die in Klammern stehen. Weitere Informationen finden Sie unter Formatoptionen. Informationshinweisfrom_field unterstützt nur Kommas als Listentrennzeichen, wenn Felder in Tabellen getrennt werden. |
inline | Der Zusatz inline wird benutzt, wenn Daten direkt in das Skript eingegeben und nicht aus einer Datei geladen werden sollen. data ::= [ text ] Daten, die durch eine inline-Bedingung eingegeben werden, müssen in bestimmte Zeichen eingeschlossen werden – eckige Klammern, Anführungszeichen oder einfache umgekehrte Anführungszeichen. Der Text wird auf die gleiche Weise interpretiert wie der Inhalt einer Datei, d. h. er sollte auch genauso aufgebaut sein. Wenn Sie beispielsweise in einer Textdatei eine neue Zeile einfügen, sollten Sie dies auch im Text einer inline-Bedingung tun. Drücken Sie hierzu die Eingabetaste, wenn Sie das Skript eingeben. In einem einfachen Inline-Ladevorgang wird die Anzahl der Spalten durch die erste Zeile definiert. format-spec ::= ( fspec-item {, fspec-item } )Sie können den Inline-Ladevorgang mit vielen der gleichen Formatspezifikationselemente anpassen, die für andere geladene Tabellen verfügbar sind. Diese Elemente werden in Klammern aufgelistet. Weitere Informationen finden Sie unter Formatoptionen. Weitere Informationen über Inline-Ladevorgänge finden Sie unter Verwenden von Inline-Ladevorgängen zum Laden von Daten. |
resident | Der Zusatz resident wird benutzt, um Daten aus einer bereits geladenen Tabelle zu laden. table label ist die Bezeichnung, die dem LOAD- oder SELECT-Befehl vorangeht, durch den die Tabelle erstellt wurde. Am Ende des resident-Zusatzes sollte ein Doppelpunkt stehen. |
autogenerate | Der Zusatz autogenerate wird benutzt, um Daten automatisch durch Qlik Sense generieren zu lassen. size ::= number Number steht für eine ganze Zahl, die bezeichnet, wie viele Datensätze angelegt werden sollen. Die Feldliste darf keine Formeln enthalten, die Daten aus einer externen Datenquelle oder einer zuvor geladenen Tabelle enthalten, es sei denn, Sie nehmen auf einen einzigen Feldwert in einer zuvor geladenen Tabelle mit der Funktion Peek Bezug. |
where | where wird benutzt, um anhand eines Kriteriums zu prüfen, ob der Datensatz geladen wird oder nicht. Ist criterion True, wird der Datensatz geladen. criterion ist eine logische Formel. |
while | Der Zusatz while dient dazu, einen Datensatz mehrfach zu laden. Der Datensatz wird solange eingelesen, wie criterion True ist. Sinnvollerweise schließt ein while-Zusatz die Funktion IterNo( ) ein. criterion ist eine logische Formel. |
group by | Der Zusatz group by bestimmt, nach welchen Feldern die Daten aggregiert (gruppiert) werden sollen. Die Aggregierungsfelder sollten in den geladenen Formeln verwendet werden. Außerhalb von Aggregierungsfunktionen dürfen in load-Befehlen mit group by-Zusatz nur die im group by-Zusatz aufgeführten Felder geladen werden. groupbyfieldlist ::= (fieldname { ,fieldname } ) |
order by | Der Zusatz order by kann nur in load-Befehlen mit resident-Zusatz benutzt werden, d. h. wenn Daten aus einer bereits geladenen Tabelle eingelesen werden. Er dient dazu, die Datensätze der im resident-Zusatz bezeichneten Tabelle vor dem erneuten Einlesen zu sortieren. Dabei kann nach einem oder mehreren Felder in auf- oder absteigender Reihenfolge sortiert werden. Die Sortierung erfolgt zunächst nach numerischen Werten, dann nach nationaler Sortierreihenfolge. Diese Bedingung darf nur verwendet werden, wenn die Datenquelle eine bezeichnete Tabelle ist. Mit den Ordnungsfeldern wird angegeben, nach welchem Feld die bezeichnete Tabelle sortiert wird. Das Feld kann durch den Feldnamen oder die Feldnummer bezeichnet sein (die Nummerierung beginnt stets bei 1). orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] } Hinter sortorder folgt entweder asc für aufsteigend oder desc für absteigend. Fehlt die sortorder, wird asc angenommen. fieldname, path, filename und aliasname sind Strings. Als fieldname kann jedes Feld in der Quelltabelle verwendet werden. Felder, die mithilfe der as-Bedingung (aliasname) erstellt werden, befinden sich außerhalb des Gültigkeitsbereichs und können nicht im gleichen load-Befehl verwendet werden. |
Wenn durch keinen der Zusätze from, inline, resident from_field oder autogenerate eine Datenquelle definiert wird, werden Daten aus dem Ergebnis des direkt nachfolgenden SELECT- oder LOAD-Befehls geladen. Diesem nachfolgenden Befehl sollte kein Zusatz vorangehen.
Laden von Daten aus bereits geladenen Tabellen
Beispiele:
Laden von Dateien aus Bereichen in Qlik Cloud Analytics
In Qlik Cloud Analytics können Sie beim Laden von Daten aus einer Datendatei innerhalb eines Ladeskripts einen LOAD-Befehl verwenden oder QVS-Code einfügen. In beiden Fällen können im Skript hierarchische Bereichsordnerstrukturen referenziert werden. Folgen Sie den Regeln für gültige Bereichsordnerpfade. Zusätzlich müssen die Datei und alle referenzierten Ordner bereits an dem angegebenen Speicherort vorhanden sein. Andernfalls schlägt der Ladevorgang fehl.
Beispiele: Referenzieren einer Datei im Pfad der obersten Ebene eines Bereichs
In diesem Beispiel wird die Datei orders.csv aus einem persönlichen Bereich geladen. Die Datei befindet sich nicht innerhalb eines bestimmten Ordners, sondern im Pfad der obersten Ebene im Bereich.
LOAD * FROM [lib://DataFiles/orders.csv];
In diesem Beispiel wird die Datei orders.csv aus einem freigegebenen, verwalteten oder Datenbereich geladen. Der Name des Bereichs lautet TeamSharedSpace. Die Datei befindet sich nicht innerhalb eines bestimmten Ordners, sondern im Pfad der obersten Ebene im Bereich.
LOAD * FROM [lib://TeamSharedSpace:DataFiles/orders.csv];
Beispiele: Referenzen für einen bestimmten Ordnerpfad innerhalb eines Bereichs
In diesem Beispiel wird die Datei orders_Europe.csv aus dem Ordner Orders By Region in einem persönlichen Bereich geladen.
LOAD * FROM [lib://DataFiles/Orders By Region/orders_Europe.csv];
In diesem Beispiel wird die Datei orders_Europe.csv aus dem Ordner Orders By Region in einem freigegebenen, verwalteten oder Datenbereich geladen. Der Name des Bereichs lautet SalesSpace.
LOAD * FROM [lib://SalesSpace:DataFiles/Orders By Region/orders_Europe.csv];
Weitere Informationen zum Referenzieren der Bereichsordnerstruktur in Ladeskripten finden Sie unter Referenzieren der Ordnerstruktur im Bereich bei der Entwicklung von Apps und Skripten.