Arbeiten mit Kreuztabellen im Datenladeskript

Kreuztabellen sind eine häufig verwendete Art von Tabellen, die aus einer Matrix von Werten an den Schnittstellen zweier rechtwinklig angeordneten Listen von Spalten- und Zeilenüberschriften bestehen. Dieses Format ist üblicherweise eher ungeeignet, um die Daten mit anderen Datentabellen zu verknüpfen.

Dieser Abschnitt beschreibt, wie Sie eine Kreuztabelle entpivotieren – d. h., bestimmte Teile der Daten in Zeilen umwandeln –, indem Sie einer LOAD-Anweisung das Präfix crosstable voranstellen.

Entpivotieren einer Kreuztabelle mit nur einer qualifizierenden Spalte

Manchmal stehen vor der Kreuztabelle noch mehrere qualifizierende Spalten, die als normale Felder zu betrachten sind. In diesem Fall gibt es eine Spalte, Year, und eine Umsatzdatenmatrix pro Monat.

Kreuztabelle mit einer qualifizierenden Spalte
Year Jan Feb Mar Apr May Jun
2008 45 65 78 12 78 22
2009 11 23 22 22 45 85
2010 65 56 22 79 12 56
2011 45 24 32 78 55 15
2012 45 56 35 78 68 82

Wird diese Tabelle auf die übliche Weise in Qlik Sense eingelesen, ergeben sich ein Feld mit der Bezeichnung Year und je ein Feld für jeden der aufgeführten Monate. Dies ist allerdings ungünstig. Sinnvoller ist es, wenn drei Felder entstehen:

  • In diesem Fall ist die Spalte Year in der vorstehenden Tabelle grün markiert.
  • Das Attribut-Feld – in diesem Fall die MonatsnamenJan - Jun – ist gelb markiert. Dieses Feld kann entsprechend Month benannt werden.
  • Die Datenmatrixwerte sind blau gekennzeichnet. In diesem Fall stehen sie für die Umsatzzahlen, die entsprechendSales benannt werden können.

Dies erreichen Sie, indem Sie den Zusatz crosstable vor dem entsprechenden Befehl LOAD oder SELECT einfügen.

crosstable (Month, Sales) LOAD * from ex1.xlsx;

Damit wird die folgende Tabelle in Qlik Sense erzeugt:

Tabelle mit Crosstable-Zusatz, der dem LOAD- oder SELECT-Befehl hinzugefügt wurde
Year Month Sales
2008 Jan 45
2008 Feb 65
2008 Mär 78
2008 Apr 12
2008 Mai 78
2008 Jun 22
2009 Jan 11
2009 Feb 23
... ... ...

Entpivotieren einer Kreuztabelle mit zwei qualifizierenden Spalten

Hier befinden sich zwei Spalten vor der Wertematrix.

Kreuztabelle mit zwei qualifizierenden Spalten
Salesman Year Jan Feb Mar Apr May Jun
A 2008 45 65 78 12 78 22
A 2009 11 23 22 22 45 85
A 2010 65 56 22 79 12 56
A 2011 45 24 32 78 55 15
A 2012 45 56 35 78 68 82
B 2008 57 77 90 24 90 34
B 2009 23 35 34 34 57 97
B 2010 77 68 34 91 24 68
B 2011 57 36 44 90 67 27
B 2012 57 68 47 90 80 94

Die Zahl dieser Spalten wird als dritter Parameter zum Zusatz crosstable eingefügt:

crosstable (Month, Sales, 2) LOAD * from ex2.xlsx;

Qlik Sense zeigt dann folgendes Ergebnis an:

Tabelle mit qualifizierenden Spalten, die als dritter Parameter zum Crosstable-Zusatz eingefügt werden
Vertriebsmitarbeiter Year Month Sales
A 2008 Jan 45
A 2008 Feb 65
A 2008 Mär 78
A 2008 Apr 12
A 2008 Mai 78
A 2008 Jun 22
A 2009 Jan 11
A 2009 Feb 23
... ... ... ...

See also: