Agregacje zagnieżdżone z funkcją agregacji
Zagnieżdżenie z kwalifikatorem TOTAL nie zawsze jest wystarczające. Na potrzeby bardziej ogólnego zagnieżdżania należy zastosować zaawansowaną funkcję agregacji w powiązaniu z wymiarami wyliczanymi.
Przykład:
Ze skryptu odczytano następujące dane:
Oczywiste pytanie brzmi: „Ilu klientów mają poszczególni przedstawiciele handlowi?”.
Na takie pytanie łatwo jest odpowiedzieć. Wystarczy skorzystać ze standardowej tabeli QlikView:
Na podstawie uzyskanych informacji mogą pojawiać się dalsze pytania: „Ilu przedstawicieli handlowych ma tylko jednego klienta? Ilu przedstawicieli handlowych ma co najmniej trzech klientów?”.
W takich prostych przypadkach można ręcznie zliczyć wartości w kolumnach wyrażenia, ale jeśli nie dałoby się tego zrobić ręcznie, znalezienie odpowiedzi na wspomniane pytania wymaga zastosowania agregacji drugiego rzędu. W pierwotnych polach nie ma danych potrzebnych do obliczeń, nie da się ich także bezpośrednio z nich wyliczyć.
Należy zatem zastosować kolumnę wyrażenia z powyższego wykresu jako wymiar w nowym wykresie. W tym celu można skorzystać z zaawansowanej funkcji agregacji.
Aby wykonać obliczenie pierwszego wykresu jako „obliczenie wewnątrzwykresowe” w nowym wykresie, należy skorzystać z następującej instrukcji dla wymiaru:
=Aggr(Count(Customer),SalesRep)
Następnie należy dla nowego wykresu wprowadzić następujące wyrażenie:
Count(Distinct SalesRep)
Kwalifikator DISTINCT jest niezbędny, ponieważ QlikView zliczy liczbę wierszy w tabeli bazowej.
W efekcie powstanie tabela, która pozwoli odpowiedzieć na pytanie „Ilu przedstawicieli handlowych ma jednego, dwóch, trzech itd. klientów?".
Należy zwrócić uwagę na dwie kwestie:
- Drugi wykres absolutnie nie wymaga obecności pierwszego. Jest w pełni niezależny dzięki określeniu w jego wymiarze agregacji pierwszego rzędu.
- Ale możliwości zagnieżdżania na tym się nie kończą. Argumenty wymiaru zaawansowanej funkcji agregacji mogą zawierać wymiary wyliczane, w których z kolei stosowane są zaawansowane funkcje agregacji. W przypadku przejścia prze trzeci poziom agregacji łatwo jednak stracić orientację co do podejmowanych działań.