Zu Hauptinhalt springen
Aggr - Diagrammfunktion

AUF DIESER SEITE

Aggr - Diagrammfunktion

Aggr() berechnet eine Reihe von Werten für die Formel aggregiert über die angegebene Dimension oder Dimensionen. Beispielsweise den maximalen Umsatzwert pro Kunde oder Region.

Die Aggr-Funktion wird für verschachtelte Aggregierungen verwendet, bei denen der erste Parameter (die innere Aggregierung) einmal pro Dimensionswert berechnet wird. Die Dimensionen werden im zweiten Parameter (und in den folgenden Parametern) angegeben.

Zudem sollte die Funktion Aggr in einer äußeren Aggregierungsfunktion eingeschlossen sein. Dazu wird die Reihe von Ergebnissen der Funktion Aggr als Eingabe für die Aggregierung verwendet, in der sie verschachtelt ist.

Syntax:  

Aggr({SetExpression}[DISTINCT] [NODISTINCT ] expr, StructuredParameter{, StructuredParameter})

Rückgabe Datentyp: dual

Argumente:  

Argumente
Argument Beschreibung
expr

Eine aus einer Aggregierungsfunktion bestehende Formel. Standardmäßig berechnet sich die Aggregierungsfunktion über alle wählbaren Werte.

StructuredParameter

StructuredParameter besteht aus einer Dimension und optional aus Sortierkriterien im folgenden Format: (Dimension(Sort-type, Ordering))

Die Dimension ist ein Einzelfeld und kann keine Formel sein. Mithilfe der Dimension wird die Reihe der Werte festgelegt, für die die Formel Aggr berechnet wird.

Wenn Sortierkriterien enthalten sind, wird die Reihe der von der Aggr-Funktion erstellten und für die Dimension berechneten Werte sortiert. Dies ist wichtig, wenn die Sortierreihenfolge das Ergebnis der in der Aggr-Funktion eingeschlossenen Formel beeinflusst.

Details zur Verwendung der Sortierkriterien finden Sie unter Hinzufügen von Sortierkriterien zur Dimension im strukturierten Parameter.

SetExpression Standardmäßig berechnet sich die Aggregierungsfunktion über alle wählbaren Werte. Alternativ können Sie die der Berechnung zugrunde liegenden Werte über die Auswahlformel bestimmen.
DISTINCT

Wird dem Formelargument der Qualifizierer distinct vorangestellt oder wird gar kein Qualifizierer verwendet, generiert jede einzelne Kombination aus Dimensionswerten nur einen Rückgabewert. So werden Aggregationen normalerweise verwendet – jede distinct-Kombination aus Dimensionswerten ergibt eine Zeile im Diagramm.

NODISTINCT

Wird dem Formelargument der Qualifizierer nodistinct vorangestellt, kann jede Kombination aus Dimensionswerten abhängig von der zugrunde liegenden Datenstruktur mehrere Rückgabewerte generieren. Ist nur eine Dimension vorhanden, gibt die Funktion aggr ein Array mit so vielen Elementen zurück, wie Zeilen in den Quelldaten vorhanden sind.

Grundlegende Aggregierungsfunktionen wie Sum, Min und Avg geben einen einzelnen numerischen Wert zurück. Die Funktion Aggr() kann hingegen mit dem Erstellen einer temporären abgestuften Trefferliste (einer virtuellen Tabelle) verglichen werden, mit der eine weitere Aggregierung durchgeführt werden kann. Beispielsweise ergibt sich durch die Berechnung eines durchschnittlichen Verkaufswerts durch Addieren der Verkäufe pro Kunde in einer Aggr()-Anweisung und anschließender Berechnung des Durchschnitts der summierten Ergebnisse: Avg(TOTAL Aggr(Sum(Sales),Customer)).

TipphinweisVerwenden Sie die Funktion Aggr() in berechneten Dimensionen, wenn Sie verschachtelte Diagrammaggregierungen auf mehreren Ebenen erstellen möchten.

Beschränkungen:  

Jede Dimension in einer Aggr()-Funktion muss ein einzelnes Feld sein und darf keine Formel (berechnete Dimension) sein.

In seiner Grundform ist das Argument StructuredParameter in der Aggr-Funktionssyntax eine einzelne Dimension. Mit der Formel Aggr(Sum(Sales, Month)) wird der Gesamtumsatz für jeden Monat ermittelt. Bei Einschluss in einer anderen Aggregierungsfunktion kann es jedoch zu unerwarteten Ergebnissen kommen, sofern keine Sortierkriterien verwendet werden. Das liegt daran, dass manche Dimensionen numerisch, alphabetisch usw. sortiert werden können.

Im StructuredParameter-Argument in der Aggr-Funktion können Sie die Sortierkriterien für die Dimension in Ihrer Formel angeben. Auf diese Weise wenden Sie eine Sortierreihenfolge auf die virtuelle Tabelle an, die von der Aggr-Funktion erstellt wird.

Das Argument StructuredParameter weist die folgende Syntax auf:

(FieldName, (Sort-type, Ordering))

Strukturierte Parameter können verschachtelt werden:

(FieldName, (FieldName2, (Sort-type, Ordering)))

Der Sortiertyp kann NUMERIC, TEXT, FREQUENCY oder LOAD_ORDER sein.

Die mit jedem Ordnungstyp verknüpften Sortiertypen lauten wie folgt:

Zulässige Ordnungstypen
Sortiertyp Zulässige Ordnungstypen
NUMERIC ASCENDING, DESCENDING oder REVERSE
TEXT ASCENDING, A2Z, DESCENDING, REVERSE oder Z2A
FREQUENCY DESCENDING, REVERSE oder ASCENDING
LOAD_ORDER ASCENDING, ORIGINAL, DESCENDING oder REVERSE

Die Ordnungstypen REVERSE und DESCENDING sind gleichwertig.

Für den Sortiertyp TEXT sind die Ordnungstypen ASCENDING und A2Z gleichwertig und DESCENDING, REVERSE und Z2A sind gleichwertig.

Für den Sortiertyp LOAD_ORDER sind die Ordnungstypen ASCENDING und ORIGINAL gleichwertig.

Beispiele: Diagrammformeln mit Aggr