Skript-Zusätze
Eine Ergänzung durch Zusätze ist nur für gewöhnliche Befehle, nicht aber für Steuerungsbefehle möglich. Lediglich die Zusätze when und unless können an bestimmte Steuerungsbefehle angehängt werden.
Sämtliche Skriptbefehle können in Groß- oder Kleinbuchstaben oder einer Kombination aus beiden eingegeben werden. Bei Feld- und Variablennamen, die im Skript vorkommen, wird Groß- und Kleinschreibung jedoch unterschieden.
Verwenden Sie die Dropdown-Liste an jeder Funktion, um eine kurze Beschreibung und die Syntax der einzelnen Funktionen anzuzeigen. Weitere Details erfahren Sie durch Klicken auf den Funktionsnamen in der Syntaxbeschreibung.
Der Zusatz Add kann zu jedem LOAD- oder SELECT-Befehl im Skript hinzugefügt werden, um anzugeben, dass Datensätze zu einer anderen Tabelle hinzugefügt werden sollen. Er gibt auch an, dass dieser Befehl in einem partiellen Ladevorgang ausgeführt werden soll. Der Zusatz Add kann auch in einem Map-Befehl verwendet werden.
Add [only] [Concatenate[(tablename )]] (loadstatement | selectstatement)
Add [ Only ] mapstatement
QVD-Dateien können mit Hilfe des buffer-Zusatzes im Skript automatisch generiert werden. Dieser Zusatz kann zusammen mit den meisten LOAD- und SELECT-Befehlen verwendet werden. Er dient dazu, die eingelesenen Daten in einer QVD-Datei zu cachen bzw. zu buffern.
Buffer[(option [ , option])] ( loadstatement | selectstatement )
option::= incremental | stale [after] amount [(days | hours)]
Sollen zwei Tabellen zusammengefasst werden, die über unterschiedliche Gruppen von Feldern verfügen, kann die Zusammenfassung zweier Tabellen mit dem Zusatz Concatenate erreicht werden.
concatenate[ (tablename ) ] ( loadstatement | selectstatement )
Das Ladepräfix crosstable wird verwendet, um als „Kreuztabelle“ oder „Pivottabelle“ strukturierte Daten umzuwandeln. Derart strukturierte Daten liegen in der Regel vor, wenn mit Arbeitsblattquellen gearbeitet wird. Die Ausgabe und das Ziel des Ladepräfixes crosstable bestehen darin, diese Strukturen in eine entsprechende reguläre spaltenbasierte Tabelle umzuwandeln, da sich diese Struktur meist besser für die Analyse in Qlik Sense eignet.
crosstable (attribute field name, data field name [ , n ] ) ( loadstatement | selectstatement )
Der Zusatz First vor einem LOAD- oder SELECT (SQL)-Befehl dient dazu, eine festgelegte maximale Anzahl von Datensätzen aus einer Datenquelle zu laden.
First n( loadstatement | selectstatement )
Das Ladepräfix Generic ermöglicht die Konvertierung von Daten eines Element-Attribut-Wert-Modells (Entity-Attribute-Value, EAV) in eine herkömmliche, normalisierte relationale Tabellenstruktur. EAV-Modelle werden alternativ als „generische Datenmodelle“ oder „offenes Schema“ bezeichnet.
Generic ( loadstatement | selectstatement )
Mithilfe des hierarchy-Zusatzes wird eine über-/untergeordnete Hierarchie-Tabelle in eine Tabelle umgewandelt, die in einem Qlik Sense-Datenmodell verwendet werden kann. Er kann vor dem Befehl LOAD oder SELECT eingefügt werden und verwendet anschließend das Ergebnis des Ladebefehls als Eingabe für eine Tabellenumformung.
Hierarchy (NodeID, ParentID, NodeName, [ParentName], [PathSource], [PathName], [PathDelimiter], [Depth])(loadstatement | selectstatement)
Mithilfe dieses Zusatzes wird eine über-/untergeordnete Hierarchie-Tabelle in eine Tabelle umgewandelt, die in einem Qlik Sense-Datenmodell verwendet werden kann. Er kann vor dem Befehl LOAD oder SELECT eingefügt werden und verwendet anschließend das Ergebnis des Ladebefehls als Eingabe für eine Tabellenumformung.
HierarchyBelongsTo (NodeID, ParentID, NodeName, AncestorID, AncestorName, [DepthDiff])(loadstatement | selectstatement)
Dem Präfix join und dem Präfix keep kann das Präfix inner vorangestellt sein.
Vor einem join-Befehl bestimmt dieser Zusatz, dass ein Inner Join hergestellt werden soll. Die entstandene Datei enthält somit lediglich Kombinationen von Feldwerten der Datentabellen, wobei die Referenzen zu externen Werten in beiden Tabellen dargestellt werden. Bei Verwendung vor keep bestimmt dieser Zusatz, dass beide Rohdatentabellen auf ihre gemeinsame Schnittmenge reduziert werden sollen, bevor sie in Qlik Sense gespeichert werden.
.Inner ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
Mithilfe des Zusatzes IntervalMatch wird eine Tabelle angelegt, in der die diskreten numerischen Werte mit einem oder mehreren numerischen Intervallen abgeglichen werden und optional die Werte von einem oder mehreren zusätzlichen Schlüsseln.
IntervalMatch (matchfield)(loadstatement | selectstatement )
IntervalMatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )
Der join-Zusatz kombiniert die geladene Tabelle mit einer bestehenden benannten Tabelle bzw. mit der zuletzt erstellten Datentabelle.
[Inner | Outer | Left | Right ] Join [ (tablename ) ]( loadstatement | selectstatement )
Der Zusatz keep weist Ähnlichkeiten mit dem Zusatz join auf. Wie der join-Zusatz kombiniert er die geladene Tabelle mit einer bestehenden benannten Tabelle oder der zuletzt erstellten Datentabelle, doch statt die geladene Tabelle mit einer bestehenden Tabelle zusammenzuschließen, bewirkt der Zusatz, dass die Tabelle oder beide Tabellen vor dem Speichern in Qlik Sense auf Basis der Schnittmenge der Tabellendaten reduziert werden. Der ausgeführte Vergleich entspricht einer Verknüpfung von Tabellen über alle gemeinsamen Felder, d. h. in gleicher Weise wie bei einer entsprechenden Verknüpfung. Die Tabellen werden jedoch nicht zusammengeschlossen, sondern als zwei Tabellen unter verschiedenen Namen in Qlik Sense gespeichert.
(Inner | Left | Right) Keep [(tablename ) ]( loadstatement | selectstatement )
Den Befehlen Joinund Keep kann der Zusatz left vorangestellt werden.
Vor einem join-Befehl bestimmt dieser Zusatz, dass ein Left Join hergestellt werden soll. Die entstandene Tabelle enthält somit lediglich Kombinationen von Feldwerten der Datentabellen, wobei die Referenzen zu Feldwerten in der ersten Tabelle dargestellt werden. Bei Verwendung vor keep bestimmt dieser Zusatz, dass die zweite Rohdatentabelle auf ihre gemeinsame Schnittmenge mit der ersten Tabelle reduziert werden soll, bevor sie in Qlik Sense gespeichert wird.
Left ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
Mithilfe des Zusatzes mapping wird eine Mapping-Tabelle erstellt, die z. B. zum Austauschen der Feldwerte und Feldnamen während der Ausführung des Skripts verwendet werden kann.
Mapping ( loadstatement | selectstatement )
Der Zusatz Merge kann zu jedem LOAD- oder SELECT-Befehl im Skript hinzugefügt werden, um anzugeben, dass die geladene Tabelle mit einer anderen Tabelle zusammengeführt werden soll. Er gibt auch an, dass dieser Befehl in einem partiellen Ladevorgang ausgeführt werden soll.
Merge [only] [(SequenceNoField [, SequenceNoVar])] On ListOfKeys [Concatenate [(TableName)]] (loadstatement | selectstatement)
Der Zusatz NoConcatenate bewirkt, dass zwei geladene Tabellen mit identischen Feldergruppen als zwei separate interne Tabellen behandelt werden, während sie andernfalls automatisch zusammengefasst werden würden.
NoConcatenate( loadstatement | selectstatement )
Dem expliziten Präfix Join kann das Präfix Outer vorangestellt werden, um einen Outer Join festzulegen. In einem Outer Join werden alle Kombinationen zwischen den zwei Tabellen erzeugt. Die entstandene Tabelle enthält somit Kombinationen von Feldwerten der Rohdatentabellen, wobei die verknüpfenden Feldwerte in beiden Tabellen dargestellt werden. Das Schlüsselwort Outer ist optional und ist der standardmäßige Typ, der verwendet wird, wenn kein Join-Präfix festgelegt wird.
Outer Join [ (tablename) ](loadstatement |selectstatement )
Ein vollständiger Ladevorgang beginnt immer mit dem Löschen aller Tabellen im vorhandenen Datenmodell. Dann wird das Ladeskript ausgeführt.
Bei einem Partielles Laden geschieht dies nicht. Stattdessen werden alle Tabellen im Datenmodell beibehalten und dann nur die Anweisungen Load und Select mit den Zusätzen Add, Merge oder Replace ausgeführt. Andere Datentabellen sind von dem Befehl nicht betroffen. Das Argument only gibt an, dass die Anweisung nur bei partiellen Ladevorgängen ausgeführt und bei vollständigen Ladevorgängen ignoriert werden soll. Die folgende Tabelle bietet eine Zusammenfassung der Anweisungsausführung für partielle und vollständige Ladevorgänge.
Der Zusatz Replace kann zu jedem LOAD- oder SELECT-Befehl im Skript hinzugefügt werden, um anzugeben, dass die geladene Tabelle eine andere Tabelle ersetzen soll. Er gibt auch an, dass dieser Befehl in einem partiellen Ladevorgang ausgeführt werden soll. Der Zusatz Replace kann auch in einem Map-Befehl verwendet werden.
Replace [only] [Concatenate[(tablename) ]] (loadstatement | selectstatement)
Replace [only] mapstatement
Den Befehlen Joinund Keep kann der Zusatz right vorangestellt werden.
Vor einem join-Befehl bestimmt dieser Zusatz, dass ein Right Join hergestellt werden soll. Die entstandene Tabelle enthält somit lediglich Kombinationen von Feldwerten der Datentabellen, wobei die Referenzen zu Feldwerten in der zweiten Tabelle dargestellt werden. Bei Verwendung vor keep bestimmt dieser Zusatz, dass die erste Rohdatentabelle auf ihre gemeinsame Schnittmenge mit der zweiten Tabelle reduziert werden sollte, bevor sie in Qlik Sense gespeichert wird.
Right (Join | Keep) [(tablename)](loadstatement |selectstatement )
Der Zusatz sample vor einem LOAD- oder SELECT-Befehl dient dazu, eine zufällige Stichprobe von Datensätzen aus einer Datenquelle zu laden.
Sample p ( loadstatement | selectstatement )
Tabellen, die Beziehungen zwischen Datensätzen enthalten, können über ein semantic-Präfix geladen werden. Das können beispielsweise Selbstreferenzen in einer Tabelle sein, in der ein Datensatz auf einen anderen verweist, wie übergeordnet, gehört zu oder Vorgänger.
Semantic ( loadstatement | selectstatement)
Der Zusatz unless definiert eine Bedingung für die Evaluierung eines Befehls bzw. eines exit-Befehls. Es kann somit als Kurzform des vollständigen Befehls if..end if betrachtet werden.
(Unless condition statement | exitstatement Unless condition )
Der Zusatz when definiert eine Bedingung für die Ausführung eines Befehls bzw. eines exit-Befehls. Es kann somit als Kurzform des vollständigen Befehls if..end if betrachtet werden.
( When condition statement | exitstatement when condition )