Aggr - funkcja wykresu

Funkcja Aggr() zwraca tablicę wartości wyrażenia obliczonego po wskazanych wymiarach. Może to na przykład być wartość maksymalna sprzedaży według klienta i regionu. Funkcji Aggr używa się w agregacjach złożonych, w których wywołanie funkcji Aggr jest osadzone w innej funkcji agregującej, która wykorzystuje tablicę wyników z funkcji Aggr jako dane wejściowe dla własnej agregacji.

Składnia:  

Aggr({[DISTINCT] [NODISTINCT ]} expr, dim{, dimension})

Typ zwracanych danych: podwójny

Argumenty:  

Argument Opis
expr

Wyrażenie zawierające funkcję agregacji. Funkcja agregacji będzie domyślnie dokonywać agregacji na zbiorze możliwych rekordów zdefiniowanym przez daną selekcję.

dim Wymiar, dla którego określany jest szereg wartości w wyrażeniu. Wymiar ten musi zajmować jedno pole i nie może być wyrażeniem.
dimension Opcjonalny. Co najmniej jeden wymiar, o który wyrażenie może być rozszerzone.
DISTINCT Jeśli argument wyrażenia jest poprzedzony kwalifikatorem distinct lub w ogóle nie ma kwalifikatora, dla każdej odrębnej kombinacji wartości wymiarów będzie generowana tylko jedna wartość zwracana. W ten sposób są standardowo dokonywane agregacje. Każda odrębna kombinacja wartości wymiarów będzie generować jeden wiersz na wykresie.
NODISTINCT

Jeśli argument wyrażenia jest poprzedzony kwalifikatorem nodistinct, każda kombinacja wartości wymiarów może generować więcej niż jedną wartość zwracaną (w zależności od bazowej struktury danych). Jeśli występuje tylko jeden wymiar, funkcja aggr zwróci szereg z tą samą liczbą elementów co liczba wierszy w źródle danych.

Podstawowe funkcje agregacji, takie jak Sum, Min i Avg, zwracają jedną wartość liczbową, podczas gdy funkcja Aggr() może zostać poddana porównaniu w celu tymczasowego przeniesienia wyników, które mogą zostać zastąpione kolejną agregacją. Na przykład przez obliczenie wartości średniej sprzedaży przez zsumowanie wartości sprzedaży według klientów w ramach instrukcji Aggr(), a następnie obliczenie średniej z zsumowanych wyników za pomocą wyrażenia Avg(TOTAL Aggr(Sum(Sales), Customer)).

Porada: Z funkcji tej można skorzystać w wymiarach wyliczanych, jeśli na wielu poziomach ma być utworzona zagnieżdżona agregacja wykresów.

Ograniczenia:  

Każdy wymiar musi być pojedynczym polem i nie może być wyrażeniem (wymiarem wyliczanym).

Przykłady i wyniki:

Customer Product UnitSales UnitPrice
Astrida AA 4 16
Astrida AA 10 15
Astrida BB 9 9
Betacab BB 5 10
Betacab CC 2 20
Betacab DD 25 25
Canutility AA 8 15
Canutility CC - 19

Utwórz tabelę z wymiarami Customer, Product, UnitPrice i UnitSales.

Przykład Wynik
Avg(Aggr(Sum(UnitSales*UnitPrice), Customer))

Dodaj w tabeli to wyrażenie jako miarę. Wartości Aggr(Sum(UnitSales*UnitPrice), Customer). Wyszukuje łączną wartość sprzedaży według wymiaru Customer, a następnie zwraca szereg wartości: 295, 715 i 120 dla trzech wartości Customer.

Wartości te są stosowane jako dane wejściowe dla funkcji Avg(), aby znaleźć wartość średniej sprzedaż:, 376,6667. (W panelu właściwości należy wcześniej wybrać wartość Totals w menu Presentation).

Dane używane w przykładach:

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD|25|25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');