Korzystanie z tabel krzyżowych

Tabela krzyżowa to często spotykany typ tabeli. Stanowi ona macierz wartości między dwiema ortogonalnymi listami danych nagłówka. Poniżej podano przykład takiej tabeli.

Przykład 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

Zwykłe załadowanie takiej tabeli do QlikView spowoduje utworzenie jednego pola dla kolumny Year i jednego pola dla każdego z miesięcy. Zazwyczaj nie takie działanie jest oczekiwane. Najlepiej byłoby wygenerować trzy pola — po jednym dla każdej z kategorii nagłówków (Year i Month) i jedno dla wartości danych wewnątrz macierzy.

W tym celu można dodać prefiks crosstable do instrukcji LOAD lub SELECT, na przykład:

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

W QlikView zwrócony zostanie następujący wynik:

Na początku tabeli krzyżowej często znajduje się kilka kolumn kwalifikujących, które należałoby odczytać w zrozumiały sposób. W tym przypadku istnieje jedna kwalifikująca kolumna: Year.

Przykład 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

W tym przypadku pierwsze dwie kolumny od lewej to kolumny kwalifikujące, po których następują kolumny macierzy. Liczbę kolumn kwalifikujących można podać jako trzeci parametr prefiksu crosstable w następujący sposób:

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

W QlikView zwrócony zostanie następujący wynik:

Zob. także: