Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

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 Zusatz Crosstable 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
ProduktJan 2014Feb 2014Mar 2014Apr 2014May 2014Jun 2014
A100981008310382
B284279297305294292
C505350544951

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

Tabelle „Product“ mit Feld „Product“ und je einem Feld für die Monate.

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

Tabelle „Product“ mit den Feldern „Product“, „Month“ und „Sales“.

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.

  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

    Tabelle „Product“ mit Feld „Product“ und je einem Feld für die Monate.
  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

    Tabelle „Product“ mit den Feldern „Product“, „Month“ und „Sales“.

    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

    Tabelle mit den Daten, die mit dem Crosstable-Zusatz geladen wurden.

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

    Balkendiagramm mit den Daten, die mit dem Crosstable-Zusatz geladen wurden

    Balkendiagramm mit den Daten, die mit dem Crosstable-Zusatz geladen wurden.
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.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!