Verständnis der Skript-Syntax und der Datenstrukturen

Extrahieren, Umformen und Laden

Allgemein kann die Art und Weise, wie Daten in die App geladen werden, über den Prozess für das Extrahieren, Umformen und Laden erklärt werden:

  • Extrahieren

    Der erste Schritt ist die Extrahierung von Daten aus dem Datenquellensystem. In einem Skript definieren Sie dies mithilfe der SELECT- oder der LOAD-Anweisung. Im Folgenden die Unterschiede zwischen diesen Befehlen:

    • Mit SELECT werden Daten aus einer ODBC-Datenquelle oder von einem OLE DB-Provider ausgewählt. Die SELECT SQL-Anweisung wird vom Datenprovider evaluiert, nicht von Qlik Sense.
    • Mit LOAD werden Daten aus einer Datei, aus im Skript definierten Daten, aus einer zuvor geladenen Tabelle, von einer Webseite, aus dem Ergebnis einer nachfolgenden SELECT-Anweisung oder durch automatisches Generieren der Daten geladen.
  • Umformen

    Beim Umformen werden die Daten mithilfe der Skriptfunktionen und Regeln zur Ableitung der gewünschten Datenmodellstruktur manipuliert. Zu den typischen Operationen zählen:

    • Berechnung neuer Werte
    • Konvertieren codierter Werte
    • Felder umbenennen
    • Zusammenfügen von Tabellen
    • Aggregierungswerte
    • Schwenken
    • Datenvalidierung
  • Laden

    Im letzten Schritt wird das Skript ausgeführt, um das definierte Datenmodell in die App.zu laden.

Sie sollten ein Datenmodell erstellen, mit dem Sie die Daten in Qlik Sense effizient nutzen können. Im Regelfall sollten Sie sich für ein relativ normales Schema in Form von Stern oder Schneeflocke ohne Zirkelbezüge entscheiden. Hierbei handelt es sich um ein Modell, in dem jedes Element in einer getrennten Tabelle gespeichert wird. Ein häufig verwendetes Datenmodell sieht wie folgt aus:

  • eine zentrale Tabelle mit Fakten, die Schlüssel zu den Dimensionen und Zahlen zur Berechnung der Kennzahlen enthält (z. B. Anzahl an Abschnitten, Umsatzzahlen und Budgetzahlen).
  • umliegende Tabellen mit den Dimensionen mit allen Attributen (wie Produkte, Kunden, Kategorien, Kalender und Lieferanten).
Hinweis: In vielen Fällen ist es möglich, eine Aufgabe wie eine Aggregierung entweder durch das Erstellen eines umfangreicheren Datenmodells im Ladeskript oder durch das Ausführen von Aggregierungen in der Diagrammformel zu lösen. Als Faustregel ist die Performance besser, wenn Sie die Datentransformationen auf das Ladeskript beschränken.
Tipp: Eine gute Methode ist es, sich das Datenmodell vorher auf Papier zu skizzieren. Sie können dadurch die Struktur besser definieren, welche Daten extrahiert und welche Transformationen durchgeführt werden sollen.

Befehle zum Laden von Daten

Daten werden mittels LOAD- oder SELECT-Anweisungen geladen. Jeder dieser Befehle erstellt eine interne Tabelle. Eine Tabelle ist immer eine Liste von Objekten. Jeder Datensatz (Zeile) ist ein neues Exemplar des Objekttyps und jedes Feld (Spalte) ist ein spezifisches Attribut oder eine Eigenschaft des Objekts.

Im Folgenden die Unterschiede zwischen diesen Befehlen:

  • Mit SELECT werden Daten aus einer ODBC-Datenquelle oder von einem OLE DB-Provider ausgewählt. Die SELECT SQL-Anweisung wird vom Datenprovider evaluiert, nicht von Qlik Sense.
  • Mit LOAD werden Daten aus einer Datei, aus im Skript definierten Daten, aus einer zuvor geladenen Tabelle, von einer Webseite, aus dem Ergebnis einer nachfolgenden SELECT-Anweisung oder durch automatisches Generieren der Daten geladen.

Regeln

Beim Laden von Daten in Qlik Sense gelten die folgenden Regeln:

  • Qlik Sense unterscheidet nicht zwischen Tabellen, die durch eine LOAD- oder eine SELECT-Anweisung generiert wurden. Wenn mehrere Tabellen geladen werden, ist es daher unerheblich, ob die Tabellen durch LOAD- oder SELECT-Anweisungen oder eine Kombination beider Anweisungen geladen wurden.
  • Die Reihenfolge der Felder in der zugrunde liegenden Datenbank ist für Qlik Sense nicht relevant.
  • Feldnamen dienen dazu, Felder zu identifizieren und Verknüpfungen herzustellen. Groß-/Kleinschreibung muss beachtet werden. Daher ist es häufig erforderlich, Felder im Skript umzubenennen.

Die Ausführung des Skripts

Bei einer typischen LOAD- oder SELECT-Anweisung ist die Reihenfolge der Ereignisse in etwa wie folgt:

  1. Auswertung von Formeln
  2. Umbenennen der Felder durch as
  3. Umbenennen der Felder durch alias
  4. Qualifizierung von Feldern
  5. Daten-Mapping bei Übereinstimmung des Feldnamens
  6. Speichern der internen Tabelle