Suma wierszy w tabelach przestawnych
W przypadku sumy tabeli prostej QlikView można wybierać między prostą sumą wierszy a obliczoną sumą wyrażenia. W tabeli przestawnej QlikView nie ma takiego wyboru. Sumy w tabeli przestawnej są zawsze obliczane jako suma wyrażenia.
Zazwyczaj jest to korzystne, ponieważ rzadko zdarza się, że gdy te dwie wartości różnią się, łączna wartość sumy wierszy jest właściwa.
W przykładzie z następnej sekcji suma wierszy jest mimo wszystko pożądanym wynikiem.
Przykład:
Przykład ten dotyczy konkursu szkolnego, w którym trzyosobowe zespoły otrzymują punkty za stopnie z trzech różnych zajęć. Zespół może wybrać najwyższy stopień w obrębie grupy dla każdego z tych zajęć, a następnie dodać trzy najwyższe stopnie, aby uzyskać sumę. Ze skryptu odczytano następujące dane:
Tabela prosta z wymiarem Class i wyrażeniem Max(Score) zwraca następującą sumę wartości wierszy:
Jeśli tabela prosta została przekształcona w tabelę przestawną, w przypadku której obliczenia są zawsze dokonywane jako suma wartości wyrażeń, a nie suma wartości wierszy, powstanie problem:
W tym konkretnym przypadku oczekiwana jest suma 12, a nie 5. W tym przypadku funkcja Aggr może być zastosowana w wyrażeniu, nie w wymiarze.
Pierwotne wyrażenie znajduje się w obrębie funkcji Aggr z wykorzystaniem otaczających wymiarów wykresu także jako wymiarów w funkcji Aggr. To wiązanie zostało zastosowane jako argument dla agregacji Sum. W tabeli tej przedstawiona zostanie oczekiwana suma:
Cechą zaawansowanej funkcji agregacji jest to, że poszczególne wiersze zwracają tylko wartość pojedynczą. Wynika to z faktu, że wymiar ma oczywiście tylko jedną możliwą wartość w każdym wierszu danych. Wewnętrzny wymiar i wyrażenie są takie same jak w przypadku otaczającego wykresu, każda wartość będzie zatem taka sama jak wynik bez obejmujących agregacji Sum i zaawansowanych funkcji agregacji.
W odniesieniu do całego wiersza zaawansowana funkcja agregacji zwróci jednak trzy wartości, po jednej dla każdej wartości pola wymiaru. Wartości te zostaną następnie zsumowane przez agregację Sum. Formalnie jest to nadal suma wyrażenia, wynik równa się jednak sumie wierszy.