Zu Hauptinhalt springen
Umwandeln von Daten

AUF DIESER SEITE

Umwandeln von Daten

Sie können Daten anhand vieler verschiedener Techniken im Dateneditor umwandeln und bearbeiten.

Einer der Vorteile der Datenbearbeitung ist, dass Sie beschließen können, nur eine Teilmenge der Daten aus einer Datei zu laden, z. B. einige wenige ausgewählte Spalten einer Tabelle. So können Sie die Datenverarbeitung effizienter gestalten. Sie können die Daten auch mehrmals laden, um die Rohdaten in mehrere neue interne Tabellen aufzuspalten. Außerdem können Sie auch Daten aus mehreren Quellen laden und sie zu einer Tabelle in Qlik Sense zusammenführen.

In diesem Thema werden einige grundlegende Datenumformungen durchgeführt. Dabei verwenden Sie zuerst einen Resident load, dann einen Preceding load.

Resident LOAD

Sie können den Quellzusatz Resident in einer LOAD-Anweisung verwenden, um Daten aus einer bereits geladenen Tabelle zu laden. Das ist auch hilfreich, wenn Sie Berechnungen für Daten durchführen möchten, die mit einer SELECT-Anweisung geladen wurden, und Sie die Qlik Sense Funktionen wie die Verarbeitung von Datum und Zahlenwerten nicht nutzen können.

In diesem Beispiel erstellen Sie eine neue Tabelle mit dem Namen Sales_Buckets und laden dann die Daten aus Table1 anhand eines resident load. In der Tabelle Sales_Buckets erstellen Sie eine Variable mit dem Namen quantity_threshold und verwenden dann eine Where-Anweisung, um nur die Daten zu laden, die diesem Schwellenwert entsprechen.

  1. Öffnen Sie den Dateneditor in der Scripting Tutorial App.
  2. Klicken Sie auf die Registerkarte Sales.
  3. Fügen Sie Folgendes zum Ende des Skripts hinzu:
  4. SET quantity_threshold = 12000; Sales_Buckets:     LOAD "Sales Qty" as "High_Quantity", "Item Description" as "Item", "Customer Number" as "Customer" Resident Table1 Where ("Sales Qty" > $(quantity_threshold)); 

    Ihr Skript sollte folgendermaßen aussehen:

    Ladeskriptfenster mit Skript zum Erstellen einer neuen Tabelle namens Sales_Buckets
    Load script window with script to create new table called Sales_Buckets.

  5. Klicken Sie auf Daten laden.
  6. Öffnen Sie die Datenmodellansicht. Sie können sehen, dass Sie eine neue Tabelle namens Sales_Buckets erstellt haben, in die Daten entsprechend den angegebenen Feldern und dem festgelegten Schwellenwert geladen wurden.
  7. Tabelle Sales_Buckets in der Datenmodellansicht
    Sales_Buckets table in data model viewer.

  8. Fügen Sie die Daten zu einer Tabelle in Ihrer App hinzu. Fügen Sie Item und Customer als Dimensionen hinzu. Fügen Sie High-Quantity als über Count und dann erneut über Sum aggregierte Kennzahl hinzu. Fügen Sie dann eine neue Spalte als Kennzahl mit der folgenden Formel hinzu:
  9. = Sum(High_Quantity) / Count(High_Quantity)

    Neue Kennzahl mit Formel
    New measure with formula.

    Ihre Tabelle zeigt beispielsweise, dass Customer 10025737 vier große Bestellungen von High Top Dried Mushrooms mit einer durchschnittlichen Menge von 14.800 aufgegeben hat. Um Sortierungen für die Daten in den Feldern vorzunehmen, schließen Sie den Bearbeitungsmodus, indem Sie auf Fertig klicken.

    Tabelle mit Kunden, die große Bestellungen aufgegeben haben
    Table showing customers that have made large orders.

  10. Nachdem dieses Beispiel jetzt abgeschlossen ist, kommentieren Sie das Skript für die Variable quantity_threshold und die Tabelle Sales_Buckets aus.
  11. Das Ende Ihres Skripts sollte nun wie folgt aussehen:

    Auskommentiertes Skript
    Commented out script.

Preceding LOAD

Mit einem vorangestellten load-Befehl können Sie Umwandlungen durchführen und Filter anwenden, um Daten in einem Durchgang laden zu können. Im Grunde ist es ein LOAD-Befehl, der über den Befehl LOAD oder SELECT unten lädt, ohne einen Qualifizierer für die Quelle wie From oder Resident anzugeben, was normalerweise der Fall ist. Sie können auf diese Art und Weise beliebig viele LOAD-Befehle stapeln. Der Befehl unten wird zuerst ausgewertet, dann der Befehl darüber usw., bis der oberste Befehl ausgewertet wurde.

Wie weiter oben in diesem Tutorial erwähnt, können Sie Daten in Qlik Sense anhand der Anweisungen LOAD und SELECT laden. Jeder dieser Anweisungen erstellt eine interne Tabelle. LOAD wird zum Laden von Daten aus Dateien oder aus einer Inline-Tabelle verwendet, während mit SELECT Daten aus Datenbanken geladen werden können. In diesem Tutorial haben Sie Daten aus Dateien verwendet. In diesem Beispiel verwenden Sie eine Inline-Tabelle. Beachten Sie aber, dass ein preceding load oberhalb einer SELECT-Anweisung zur Bearbeitung der Daten verwendet werden kann. Die Grundlagen sind die Gleichen wie hier bei Verwendung von LOAD.

Dieses Beispiel bezieht sich nicht auf die Daten, die wir in diesem Tutorial laden. Es dient nur dazu, zu zeigen, wie ein preceding load aussehen kann. Sie erstellen im Dateneditor eine Inline-Tabelle mit dem Namen Transactions. Die Datumsinterpretation erfolgt im preceding LOAD, wobei ein neues Feld mit dem Namen transaction_date erstellt wird. Dieses Feld wird anhand des Felds sale_date erstellt.

  1. Erstellen Sie eine neue App und nennen Sie sie ReformatDate.
  2. Öffnen Sie den Dateneditor und erstellen Sie eine neue Registerkarte mit dem Namen TransactionData.
  3. Fügen Sie das folgende Skript hinzu:
  4. Transactions:  Load *, Date(Date#(sale_date,'YYYYMMDD'),'DD/MM/YYYY') as transaction_date; Load * Inline [ transaction_id, sale_date, transaction_amount, transaction_quantity, customer_id, size, color_code 3750, 20180830, 23.56, 2, 2038593, L, Red 3751, 20180907, 556.31, 6, 203521, m, orange 3752, 20180916, 5.75, 1, 5646471, S, blue 3753, 20180922, 125.00, 7, 3036491, l, Black 3754, 20180922, 484.21, 13, 049681, xs, Red 3756, 20180922, 59.18, 2, 2038593, M, Blue 3757, 20180923, 177.42, 21, 203521, XL, Black ];

    Ihr Skript sollte folgendermaßen aussehen:

    Ladeskript mit preceding load
    Load script with preceding load.

  5. Klicken Sie auf Daten laden.
  6. Öffnen Sie die Datenmodellansicht. Wählen Sie die Tabelle Transactions aus und erweitern Sie sie. Sie sehen, dass alle Felder wie vom * in der preceding load-Anweisung festgelegt geladen wurden. Ein neues Feld mit dem Namen transaction_date wurde erstellt. Das Feld hat das neu formatierte Datum.
  7. Neues Feld namens transaction_date in der Datenmodellansicht
    New field called transaction_date in data model viewer.