Określenie zakresu agregacji
Istnieją zazwyczaj dwa czynniki, które łącznie określają, które rekordy mają definiować wartość agregacji w wyrażeniu. W przypadku wizualizacji są to:
- Wartość wymiaru (agregacji w wyrażeniu wykresu)
- Selekcje
Łącznie czynniki te określają zakres agregacji. Mogą zdarzyć się sytuacje, w których obliczenie ma ignorować daną selekcję lub dany wymiar. W przypadku funkcji wykresu można to osiągnąć przez zastosowanie kwalifikatora TOTAL i/lub analizy zestawów.
Metoda | Opis |
---|---|
Kwalifikator TOTAL |
Zastosowanie kwalifikatora total w ramach funkcji agregacji powoduje zignorowanie wartości wymiaru. Agregacja taka zostanie wykonana dla wszystkich możliwych wartości pól. Po kwalifikatorze TOTAL może następować lista zawierająca co najmniej jedną nazwę pola w nawiasach trójkątnych. Te nazwy pól powinny być podzbiorem zmiennych wymiaru wykresu. W tym przypadku obliczenie jest wykonywane z pominięciem wszystkich zmiennych wymiaru wykresu z wyjątkiem zmiennych z listy, tj. dla każdej kombinacji wartości pól dla pól wymiaru z listy jest zwracana jedna wartość. Lista może zawierać także pola, które aktualnie nie są wymiarem na wykresie. Jest to użyteczne w przypadku wymiarów grupowych, gdy pola wymiarów nie są niezmienne. Lista zawiera wszystkie zmienne z grupy, co powoduje, że funkcja działa w przypadku zmiany poziomu drążenia. |
Analiza zestawów | Zastosowanie analizy zestawów w ramach agregacji powoduje zastąpienie danej selekcji. Agregacja taka zostanie wykonana dla wszystkich wartości w podziale na wymiary. |
Kwalifikator TOTAL i analiza zestawów |
Zastosowanie kwalifikatora TOTAL i analizy zestawów w ramach agregacji powoduje zastąpienie danej selekcji i zignorowanie wymiarów. |
Kwalifikator ALL |
Zastosowanie kwalifikatora ALL w ramach agregacji powoduje zignorowanie danej selekcji i wymiarów. Aby wykonać podobną operację, należy skorzystać z instrukcji analizy zestawów {1} i kwalifikatora TOTAL : =sum(All Sales) =sum({1} Total Sales) |
Przykład: Kwalifikator TOTAL
Na poniższym przykładzie przedstawiono sposób zastosowania kwalifikatora TOTAL w celu obliczenia udziału względnego. Przy założeniu, że wybrano kwartał Q2, zastosowanie kwalifikatora TOTAL pozwala na obliczenie sumy wszystkich wartości bez uwzględnienia wymiarów.
Year | Quarter | Sum(Amount) | Sum(TOTAL Amount) | Sum(Amount)/Sum(TOTAL Amount) |
---|---|---|---|---|
3000 | 3000 | 100% | ||
2012 | Q2 | 1700 | 3000 | 56,7% |
2013 | Q2 | 1300 | 3000 | 43,3% |
Przykład: Analiza zestawów
Na poniższym przykładzie przedstawiono sposób zastosowania analizy zestawów w celu porównania zestawów danych przed dokonaniem jakiejkolwiek selekcji. Przy założeniu, że wybrano kwartał Q2, zastosowanie analizy zestawów z definicją zestawu {1} pozwala na obliczenie sumy wszystkich wartości bez uwzględnienia jakichkolwiek selekcji, ale w podziale na wymiary.
Year | Quarter | Sum(Amount) | Sum({1} Amount) | Sum(Amount)/Sum({1} Amount) |
---|---|---|---|---|
3000 | 10800 | 27,8% | ||
2012 | Q1 | 0 | 1100 | 0% |
2012 | Q3 | 0 | 1400 | 0% |
2012 | Q4 | 0 | 1800 | 0% |
2012 | Q2 | 1700 | 1700 | 100% |
2013 | Q1 | 0 | 1000 | 0% |
2013 | Q3 | 0 | 1100 | 0% |
2013 | Q4 | 0 | 1400 | 0% |
2013 | Q2 | 1300 | 1300 | 100% |
Przykład: Kwalifikator TOTAL i analiza zestawów
Na poniższym przykładzie przedstawiono sposób łącznego zastosowania analizy zestawów i kwalifikatora TOTAL w celu porównania zestawów danych przed dokonaniem jakichkolwiek selekcji i w ramach wszystkich wymiarów. Przy założeniu, że wybrano kwartał Q2, zastosowanie analizy zestawów z definicją zestawu {1} i kwalifikatora TOTAL pozwala na obliczenie sumy wszystkich wartości bez uwzględnienia jakichkolwiek selekcji i wymiarów.
Year | Quarter | Sum(Amount) | Sum({1} TOTAL Amount) | Sum(Amount)/Sum({1} TOTAL Amount) |
---|---|---|---|---|
3000 | 10800 | 27,8% | ||
2012 | Q2 | 1700 | 10800 | 15,7% |
2013 | Q2 | 1300 | 10800 | 12% |
Dane zastosowane w przykładach:
AggregationScope: LOAD * inline [ Year Quarter Amount 2012 Q1 1100 2012 Q2 1700 2012 Q3 1400 2012 Q4 1800 2013 Q1 1000 2013 Q2 1300 2013 Q3 1100 2013 Q4 1400] (delimiter is ' ');