Werken met kruistabellen
Een kruistabel is een veel voorkomend type tabel die bestaat uit een matrix van waarden tussen twee rechthoekige lijsten met veldnaamgegevens. Een kruistabel kan er als volgt uitzien.
Voorbeeld 1:
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 |
Als u deze tabel gewoon in QlikView laadt, resulteert dat in een veld voor Year en een veld voor elk van de maanden. Dat is meestal niet wat u wilt. U wilt waarschijnlijk liever drie velden genereren, een voor elke hoofdcategorie (Year en Month) en een voor de gegevenswaarden in de matrix.
Dit kan worden bereikt door het prefix crosstable toe te voegen aan de LOAD- of SELECT-opdracht, bijvoorbeeld:
crosstable (Month, Sales) LOAD * from ex1.xlsx;
Dit leidt tot het volgende resultaat in QlikView:
De kruistabel wordt meestal voorafgegaan door een aantal kwalificerende kolommen die op een simpele manier moeten worden gelezen. In dit geval is er één kwalificerende kolom, Year:
Voorbeeld 2:
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 |
In dit geval zijn er twee kwalificerende kolommen links, gevolgd door de matrixkolommen. Het aantal kwalificerende kolommen kan als volgt worden opgegeven als een derde parameter voor het prefix crosstable:
crosstable (Month, Sales, 2) LOAD * from ex2.xlsx;
Dit leidt tot het volgende resultaat in QlikView: