Reguläre Skriptbefehle
Gewöhnliche Befehle dienen dazu, Daten einzulesen und diese Daten zu strukturieren oder zu verändern. Sie können sich über mehrere Zeilen erstrecken und müssen stets mit einem Semikolon enden , ";".
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.
Die alias-Anweisung definiert einen Aliasnamen für ein Feld. Wann immer dieses Feld im Skript vorkommt, wird es umbenannt.
Alias fieldname as aliasname {,fieldname as aliasname}
Diese Anweisung erstellt eine eindeutige ganze Zahl für jeden distinkten ausgewerteten Wert in einem Feld, der bei der Skriptausführung gefunden wird.
Autonumber fields [Using namespace] ]
Mit dem Befehl binary werden die Daten aus einem anderen QlikView-Dokument geladen, einschließlich der Section Access-Daten.
Binary [path] filename
Durch diesen Befehl können Sie Kommentare zu Feldern (Metadaten) selbst eingeben oder aus Datenbanken und Tabellen einlesen. Feldnamen, die in der App nicht vorkommen, werden dabei ignoriert. Wenn ein Feldname mehrmals vorkommt, wird der letzte Wert verwendet.
comment *fieldlist using mapname
comment fieldname with comment
Durch diesen Befehl können Sie Kommentare zu Tabellen (Metadaten) selbst eingeben oder aus Datenbanken und Tabellen einlesen.
comment-table tablelist using mapname
comment-table tablename with comment
Der Befehl CONNECT legt den Qlik Sense-Zugriff auf eine allgemeine Datenbank über die OLE DB/ODBC-Schnittstelle fest. Für ODBC muss die Datenquelle zunächst mithilfe des ODBC-Administrators angegeben werden.
ODBC CONNECT TO connect-string [ ( access_info ) ]
OLEDB CONNECT TO connect-string [ ( access_info ) ]
CUSTOM CONNECT TO connect-string [ ( access_info ) ]
LIB CONNECT TO connection
Der Befehl Declare wird verwendet, um Felddefinitionen zu erstellen, in denen Sie Beziehungen zwischen Feldern und Funktionen festlegen können. Mithilfe mehrerer Felddefinitionen lassen sich automatisch abgeleitete Felder erstellen, die als Dimensionen verwendet werden können. Sie können beispielsweise eine Kalenderdefinition erstellen und diese zur Generierung von damit in Bezug stehenden Dimensionen, wie Jahr, Monat, Woche und Tag, aus einem Datumsfeld verwenden.
definition_name:
Declare [Field[s]] Definition [Tagged tag_list ]
[Parameters parameter_list ]
Fields field_list
[Groups group_list ]
<definition name>:
Declare [Field][s] Definition
Using <existing_definition>
[With <parameter_assignment> ]
Der Befehl Derive wird zur Generierung abgeleiteter Felder auf Grundlage einer Felddefinition verwendet, die mit einem Declare-Befehl erstellt wurde. Sie können entweder angeben, für welche Datenfelder die Felder abgeleitet werden sollen, oder die Felder explizit oder implizit auf Grundlage der Tags für die Felder ableiten.
Derive [Field[s]] From [Field[s]] field_list Using definition
Derive [Field[s]] From Explicit [Tag[s]] (tag_list) Using definition
Derive [Field[s]] From Implicit [Tag[s]] Using definition
Mit dem Befehl DIRECT QUERY können Sie Tabellen über eine ODBC- oder OLE DB-Verbindung aufrufen, und zwar mithilfe der Funktion Direct Discovery.
direct-query [path]
Die Directory-Anweisung definiert, welches Verzeichnis in den nachfolgenden LOAD-Anweisungen nach Datendateien durchsucht wird, bis eine neue Directory-Anweisung erstellt wird.
Directory [path]
Der Disconnect-Befehl beendet die aktuelle ODBC/OLE DB/benutzerdefinierte Verbindung. Der Befehl ist optional.
Durch den Befehl drop field können jederzeit ein oder mehrere Qlik Sense-Felder während der Skriptausführung aus dem Datenmodell und damit aus dem Arbeitsspeicher gelöscht werden. Die Eigenschaft „distinct“ einer Tabelle wird nach einem drop field-Befehl entfernt.
drop-field fieldname [ , fieldname2 ...] [from tablename1 [ , tablename2 ...]]
drop fields fieldname [ , fieldname2 ...] [from tablename1 [ , tablename2 ...]]
Durch den Befehl drop table können jederzeit eine oder mehrere interne Qlik Sense-Tabellen während der Skriptausführung aus dem Datenmodell und damit aus dem Arbeitsspeicher gelöscht werden.
drop-table tablename [, tablename2 ...]
drop tables[ tablename [, tablename2 ...]
Der Befehl Execute wird zur Ausführung anderer Programme verwendet, während Qlik Sense Daten lädt. Dies dient z. B. dazu, notwendige Konvertierungen vorzunehmen.
Execute commandline
Der Befehl FlushLog erzwingt, dass Qlik Sense den Inhalt des Skriptpuffers in die Skriptprotokolldatei schreibt.
Der Befehl force erzwingt, dass Qlik Sense die Feldnamen und Feldwerte der folgenden LOAD- und SELECT-Befehle als in Großbuchstaben, in Kleinbuchstaben oder wie angegeben (gemischt) interpretiert. Auf diese Weise können Tabellen über Schlüsselfelder automatisch miteinander verknüpft werden, auch wenn die Feldnamen in den Datenquellen hinsichtlich Groß- und Kleinschreibung nicht übereinstimmen.
Force ( capitalization | case upper | case lower | case mixed )
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.
Load [ distinct ] *fieldlist
[( from file [ format-spec ] |
from_field fieldassource [format-spec]
inline data [ format-spec ] |
resident table-label |
autogenerate size )]
[ where criterion | while criterion ]
[ group_by groupbyfieldlist ]
[order_by orderbyfieldlist ]
[extension pluginname.functionname(tabledescription)]
Der let-Befehl ergänzt den set-Befehl und definiert die Skriptvariablen. Im Gegensatz zum set-Befehl wird beim let-Befehl der Ausdruck rechts des Gleichheitszeichens "=" zur Laufzeit des Skripts ausgewertet, bevor er der Variablen zugewiesen wird.
Let variablename=expression
Durch den Befehl Loosen Table können eine oder mehrere interne Qlik Sense-Datentabellen während der Skriptausführung explizit als freie Tabellen eingestuft werden. Bei einer freien Tabelle werden alle Verknüpfungen zwischen Feldwerten in der Tabelle entfernt. Ein ähnlicher Effekt kann durch Laden jedes Felds der freien Tabellen als unabhängige, unverbundene Tabellen erzielt werden. Freie Tabellen können während des Testens nützlich sein, um verschiedene Teile der Datenstruktur vorübergehend zu isolieren. Im Tabellenmodell werden freie Tabellen durch gepunktete Linien dargestellt. Enthält das Skript eine oder mehrere Loosen Table-Befehle, werden zu Beginn der Skriptausführung alle vorher getroffenen Einstellungen bezüglich freier Tabellen in Qlik Sense aufgehoben.
tablename [ , tablename2 ...]
Loosen Tables tablename [ , tablename2 ...]
Die Funktion map ... using wird für die Zuordnung eines bestimmten Feldwerts oder einer Formel zu den Werten einer bestimmten Mapping-Tabelle verwendet. Die Mapping-Tabelle wird mit dem Befehl Mapping erstellt.
Map *fieldlist Using mapname
Der Befehl NullAsNull schaltet die Konvertierung von NULL-Werten in Stringwerte aus, die zuvor mit dem Befehl NullAsValue festgelegt wurde.
NullAsNull *fieldlist
Mit dem Befehl NullAsValue werden die Felder angegeben, für die NULL-Werte in Werte konvertiert werden sollen.
NullAsValue *fieldlist
Mit dem Befehl Qualify wird die Qualifikation von Feldnamen aktiviert, d. h. Feldnamen erhalten den Tabellennamen als Zusatz.
Qualify *fieldlist
Der rem-Befehl dient dazu, Anmerkungen oder Kommentare in das Skript einzufügen oder Befehle vorübergehend zu deaktivieren, ohne sie aus dem Skript zu löschen.
Rem string
Diese Skriptfunktion benennt nach dem Laden ein oder mehrere bestehende Qlik Sense-Felder um.
rename-field (using mapname | oldname to newname{ , oldname to newname })
Rename Fields (using mapname | oldname to newname{ , oldname to newname })
Diese Skriptfunktion benennt nach dem Laden eine oder mehrere bestehende interne Qlik Sense-Tabellen um.
rename-table (using mapname | oldname to newname{ , oldname to newname })
Rename Tables (using mapname | oldname to newname{ , oldname to newname })
Mit dem section-Befehl können Sie definieren, ob die nachfolgenden Befehle LOAD und SELECT Daten laden oder aber eine Zugriffskontrollen festlegen.
Section (access | application)
Die Auswahl von Feldern aus einer ODBC-Datenquelle oder aus einem OLE DB-Provider erfolgt über die gewöhnlichen SQL-SELECT-Befehle. Allerdings hängt die Akzeptanz von SELECT-Befehlen vom verwendeten ODBC-Treiber oder OLE DB-Provider ab.
Select [all | distinct | distinctrow | top n [percent] ] *fieldlist
From tablelist
[Where criterion ]
[Group by fieldlist [having criterion ] ]
[Order by fieldlist [asc | desc] ]
[ (Inner | Left | Right | Full)Join tablename on fieldref = fieldref ]
Der Befehl set wird zum Festlegen der Skriptvariablen verwendet. Diese können Strings, Pfade, Laufwerke usw. im Skript ersetzen.
Set variablename=string
Der Befehl sleep hält die Ausführung des Skripts für eine festgelegte Zeit an.
Sleep n
Mithilfe der SQL-Anweisung können Sie einen beliebigen SQL-Befehl über eine ODBC- oder OLE DB-Verbindung senden.
SQL sql_command
Der Befehl sqlcolumns erzeugt eine Reihe von Feldern, welche die Spalten der ODBC- oder OLE DB-Datenquelle beschreiben, zu der mit dem connect-Befehl eine Verbindung hergestellt wurde.
Der Befehl sqltables erzeugt eine Reihe von Feldern, welche die Tabellen einer ODBC- oder OLE DB-Datenquelle beschreiben, zu der mit dem connect-Befehl eine Verbindung hergestellt wurde.
Der Befehl sqltypes erzeugt eine Reihe von Feldern, welche die Arten der ODBC- oder OLE DB-Datenquelle beschreiben, zu der mit dem connect-Befehl eine Verbindung hergestellt wurde.
Der String, der alle Werte eines Feldes repräsentieren soll (Stern-Symbol), kann mit dem star-Befehl definiert werden. Dies hat Gültigkeit für alle nachfolgenden LOAD- und SELECT-Befehle.
Star is [ string ]
Mit dem Befehl Store wird eine QVD-, Parquet-, CSV- oder TXT-Datei erstellt.
Store [ *fieldlist from] table into filename [ format-spec ];
Dieser Skriptbefehl bietet eine Möglichkeit zum Zuweisen von Tags zu einem oder mehreren Feldern oder Tabellen. Wird der Versuch unternommen, einem Feld oder einer Tabelle ein Tag hinzuzufügen, das bzw. die nicht in der App vorhanden ist, wird dieser Vorgang ignoriert. Gibt es Konflikte durch mehrfach vorkommende Feldnamen oder Tags, wird der letzte Tag verwendet.
Tag[field|fields] fieldlist with tagname
Tag [field|fields] fieldlist using mapname
Tag table tablelist with tagname
Mit dem Befehl trace kann ein String im Fenster Status der Skriptausführung angezeigt und in die log-Datei geschrieben werden. Er eignet sich besonders zum Debugging. Wenn Sie die $-Erweiterungen von Variablen verwenden, die vor dem trace-Befehl berechnet werden, können Sie die Meldung anpassen.
Trace string
Mit dem Befehl Unmap wird der Feldwert Mapping deaktiviert, der mit dem Befehl Map … Using für die anschließend geladenen Felder angegeben wurde.
Unmap *fieldlist
Die Unqualify-Anweisung wird verwendet, um die Qualifizierung von Feldnamen, die zuvor durch die Qualify-Anweisung aktiviert wurden, zu deaktivieren.
Unqualify *fieldlist
Dieser Skriptbefehl bietet eine Möglichkeit zum Entfernen von Tags aus Feldern oder Tabellen. Wird der Versuch unternommen, ein Tag aus einem Feld oder einer Tabelle zu entfernen, das bzw. die nicht in der App vorhanden ist, wird dieser Vorgang ignoriert.
Untag[field|fields] fieldlist with tagname
Tag [field|fields] fieldlist using mapname
Tag table tablelist with tagname