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 wykresów są to:
- Wartość wymiaru (agregacji w wyrażeniu wykresu)
- Selekcje
Łącznie czynniki te określają zakres agregacji.
Metody 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 lub analizy zestawów.
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.
ALL Kwalifikator
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łady
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 z podziałem według wymiarów.
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 ' ');