Zu Hauptinhalt springen
Verwenden des Crosstable-Zusatzes

AUF DIESER SEITE

Verwenden des Crosstable-Zusatzes

Kreuztabellen sind ein häufig verwendeter Tabellentyp, bei dem eine Matrix von Werten zwischen zwei senkrecht aufeinander stehenden Wertelisten steht. Bei Kreuztabellen mit Daten kann der Crosstable-Zusatz verwendet werden, um die Daten umzuformen und die gewünschten Felder zu erstellen.

Crosstable-Zusatz

In der folgenden Product-Tabelle stehen Ihnen eine Spalte pro Monat und eine Zeile pro Produkt zur Verfügung.

Produkttabelle
Produkt Jan 2014 Feb 2014 Mar 2014 Apr 2014 May 2014 Jun 2014
A 100 98 100 83 103 82
B 284 279 297 305 294 292
C 50 53 50 54 49 51

Wenn Sie die Tabelle laden, ergibt sich eine Tabelle mit einem Feld für Product und einem Feld für jeden der Monate.

Tabelle Product mit Feld Product und je einem Feld für die Monate
Product table with Product field, and one field each for the months.

Wenn Sie diese Daten analysieren möchten, ist es viel einfacher, alle Zahlen in einem Feld und alle Monate in einem anderen Feld aufzulisten. Es ergäbe sich also eine Tabelle mit drei Spalten – jeweils eine pro Kategorie (Product, Month, Sales).

Tabelle Product mit den Feldern Product, Month und Sales
Product table with Product, Month, and Sales fields.

Der Crosstable-Zusatz wandelt die Daten in eine Tabelle mit einer Spalte für Month und einer weiteren für Sales um. Kurz gesagt: Feldnamen werden in Feldwerte umgewandelt.

Gehen Sie folgendermaßen vor:

  1. Erstellen Sie eine neue App und nennen Sie sie Erweiterte Skripterstellung – Tutorial.
  2. Fügen Sie einen neuen Skriptabschnitt im Dateneditor hinzu.
  3. Nennen Sie den Abschnitt Product.
  4. Klicken Sie im rechten Menü unter DataFiles auf Daten auswählen.

  5. Laden Sie Product.xlsx hoch und wählen Sie die Datei aus.
  6. Wählen Sie die Tabelle Product im Fenster Daten auswählen aus.
  7. TipphinweisAchten Sie unter Feldnamen darauf, dass der Eintrag Eingebettete Feldnamen ausgewählt ist, damit die Namen der Tabellenfelder beim Laden der Daten eingeschlossen sind.
  8. Klicken Sie auf Skript einfügen.
  9. Ihr Skript sollte folgendermaßen aussehen:

    LOAD Product, "Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014", "Jun 2014" FROM [lib://DataFiles/Product.xlsx] (ooxml, embedded labels, table is Product);

  10. Klicken Sie auf Daten laden.
  11. Öffnen Sie die Datenmodellansicht. Das Datenmodell sieht folgendermaßen aus:
  12. Tabelle Product mit Feld Product und je einem Feld für die Monate
    Product table with Product field, and one field each for the months.

  13. Klicken Sie im Dateneditor auf die Registerkarte Product.
  14. Geben Sie Folgendes oberhalb der LOAD-Anweisung ein:
  15. CrossTable(Month, Sales)

  16. Klicken Sie auf Daten laden.
  17. Öffnen Sie die Datenmodellansicht. Das Datenmodell sieht folgendermaßen aus:
  18. Tabelle Product mit den Feldern Product, Month und Sales
    Product table with Product, Month, and Sales fields.

    Beachten Sie, dass die Datenquelle in der Regel nur eine Spalte als Qualifizierung umfasst: als interner Schlüssel (im obigen Beispiel Product). Es sind jedoch auch mehrere möglich. Dazu müssen alle Qualifizierungsfelder im LOAD-Befehl vor den Attributfeldern aufgeführt werden, und der Crosstable-Zusatz kann verwendet werden, um die Anzahl der Qualifizierungsfelder zu definieren. Es ist nicht möglich, ein preceding LOAD oder einen Zusatz vor dem Schlüsselwort Crosstable zu erstellen. Sie können aber automatische Zusammenfassung verwenden.

    In einer Tabelle in Qlik Sense sehen Ihre Daten wie folgt aus:

    Tabelle mit den Daten, die mit dem Crosstable-Zusatz geladen wurden
    Table showing data loaded using Crosstable prefix.

    Sie können jetzt beispielsweise ein Balkendiagramm mit den Daten erstellen:

    Balkendiagramm mit den Daten, die mit dem Crosstable-Zusatz geladen wurden
    Bar chart showing data loaded using the Crosstable prefix.

InformationshinweisWeitere Informationen zur Verwendung von Crosstable finden Sie in folgendem Blog-Eintrag in Qlik Community: The Crosstable Load (Der Crosstable-Ladevorgang). Die Verhaltensweisen werden im Kontext von QlikView besprochen. Die Logik gilt aber ebenso für Qlik Sense.

Numerische Interpretation ist für Attributfelder nicht möglich. Das bedeutet, dass diese nicht automatisch interpretiert werden, wenn Monate als Spaltenüberschrift verwendet werden. Eine Übergangslösung besteht darin, mit dem Crosstable-Zusatz eine temporäre Tabelle zu erstellen und einen zweiten Lauf durchzuführen, damit die Interpretationen dem folgenden Beispiel entsprechen.

Beachten Sie, dass es sich hierbei nur um ein Beispiel handelt. Es sind keine in Qlik Sense zu bearbeitenden Übungen vorhanden.

tmpData: Crosstable (MonthText, Sales) LOAD Product, [Jan 2014], [Feb 2014], [Mar 2014], [Apr 2014], [May 2014], [Jun 2014] FROM ... Final: LOAD Product, Date(Date#(MonthText,'MMM YYYY'),'MMM YYYY') as Month, Sales Resident tmpData; Drop Table tmpData;

Löschen des Cache-Speichers

Sie können erstellte Tabellen löschen, um den Zwischenspeicher zu löschen. Wenn Sie wie im vorherigen Abschnitt eine temporäre Tabelle laden, sollten Sie diese löschen, wenn sie nicht mehr benötigt wird. Hier ein Beispiel:

DROP TABLE Table1, Table2, Table3, Table4; DROP TABLES Table1, Table2, Table3, Table4;

Sie können auch Felder löschen. Hier ein Beispiel:

DROP FIELD Field1, Field2, Field3, Field4; DROP FIELDS Field1, Field2, Field3, Field4; DROP FIELD Field1 from Table1; DROP FIELDS Field1 from Table1;

Wie Sie sehen, können die Schlüsselwörter TABLE und FIELD Singular oder Plural sein.