Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Innere und äußere Auswahlformeln

Auswahlformeln können inner- und außerhalb von Aggregierungsfunktionen verwendet werden und sind in geschweifte Klammern eingeschlossen.

Wenn Sie eine Auswahlformel innerhalb einer Aggregierungsfunktion verwenden, kann dies so aussehen:

Beispiel: Innere Auswahlformel

Sum( {$<Year={2021}>} Sales )

Verwenden Sie eine Auswahlformel außerhalb der Aggregierungsfunktion, wenn Sie Formeln mit mehreren Aggregierungen haben und vermeiden möchten, die gleiche Auswahlformel in jede Aggregierungsfunktion zu schreiben.

Wenn Sie eine äußere Auswahlformel verwenden, muss sie am Beginn des Geltungsbereichs platziert werden.

Beispiel: Äußere Auswahlformel

{<Year={2021}>} Sum(Sales) / Count(distinct Customer)

Wenn Sie eine Auswahlformel außerhalb der Aggregierungsfunktion verwenden, können Sie sie auch auf vorhandene Master-Kennzahlen anwenden.

Beispiel: Auf Master-Kennzahl angewendete äußere Auswahlformel

{<Year={2021}>} [Master Measure]

Eine Auswahlformel, die außerhalb von Aggregierungsfunktionen verwendet wird, wirkt sich auf die ganze Formel aus, es sei denn, sie wird in Klammern eingeschlossen. In diesem Fall definieren die Klammern den Geltungsbereich. In dem folgenden Beispiel für einen lexikalischen Geltungsbereich wird die Auswahlformel nur auf die Aggregierung innerhalb der Klammern angewandt.

Beispiel: Lexikalischer Geltungsbereich

( {<Year={2021}>} Sum(Amount) / Count(distinct Customer) ) – Avg(CustomerSales)

Regeln

Lexikalischer Geltungsbereich

Die Auswahlformel wirkt sich auf die ganze Formel aus, es sei denn, sie ist in Klammern eingeschlossen. In diesem Fall definieren die Klammern den lexikalischen Geltungsbereich.

Position

Die Auswahlformel muss am Anfang des lexikalischen Geltungsbereichs platziert werden.

Kontext

Der Kontext ist die Auswahl, die für die Formel relevant ist. Traditionell war der Kontext immer der Standardzustand der aktuellen Auswahl. Wenn ein Objekt jedoch auf alternative Zustände festgelegt ist, ist der Kontext der alternative Zustand der aktuellen Auswahl.

Sie können einen Kontext auch in Form einer äußeren Auswahlformel definieren.

Erben

Innere Auswahlformeln haben Vorrang vor äußeren Auswahlformeln. Wenn die innere Auswahlformel einen Identifikator für Auswahlformeln enthält, ersetzt sie den Kontext. Andernfalls werden der Kontext und die Auswahlformel zusammengeführt.

  • {$<SetExpression>}: Überschreibt die äußere Auswahlformel.

  • {<SetExpression>}: Wird mit der äußeren Auswahlformel zusammengeführt.

Elementsatzzuweisung

Die Elementsatzzuweisung bestimmt, wie die beiden Auswahlen zusammengeführt werden. Wenn ein normales Gleichheitszeichen verwendet wird, hat die Auswahl in der inneren Auswahlformel Vorrang. Andernfalls wird der implizite Operator für Auswahlformeln verwendet.

  • {<Field={value}>}: Diese innere Auswahl ersetzt alle äußeren Auswahlen in “Field”.

  • {<Field+={value}>}: Diese innere Auswahl wird mit der äußeren Auswahl in “Field” zusammengeführt, wobei der Verbindungsoperator verwendet wird.

  • {<Field*={value}>}: Diese innere Auswahl wird mit der äußeren Auswahl in “Field” zusammengeführt, wobei der Schnittoperator verwendet wird.

Erben in mehreren Schritten

Das Erben kann in mehreren Schritten stattfinden. Beispiele:

  • Aktuelle Auswahl → Sum(Amount)

    Die Aggregierungsfunktion verwendet den Kontext, in diesem Fall die aktuelle Auswahl.

  • Aktuelle Auswahl → {<Set1>} Sum(Amount)

    Set1 erbt von der aktuellen Auswahl, und das Ergebnis ist der Kontext für die Aggregierungsfunktion.

  • Aktuelle Auswahl → {<Set1>} ({<Set2>} Sum(Amount))

    Set2 erbt von Set1, der wiederum von der aktuellen Auswahl erbt, und das Ergebnis ist der Kontext für die Aggregierungsfunktion.

Die Funktion Aggr()

Die Funktion Aggr() erstellt eine verschachtelte Aggregierung, die zwei unabhängige Aggregierungen enthält. Im Beispiel unten wird Count() für jeden Wert von Dim berechnet, und das sich ergebende Array wird anhand der Funktion Sum() aggregiert.

Beispiel:  

Sum(Aggr(Count(X),Dim))

Count() ist die innere Aggregierung und Sum() ist die äußere Aggregierung.

  • Die innere Aggregierung erbt keinen Kontext von der äußeren Aggregierung.

  • Die innere Aggregierung erbt den Kontext von der Funktion Aggr(), die eine Auswahlformel enthalten kann.

  • Sowohl die Funktion Aggr() als auch die äußere Aggregierungsfunktion erben den Kontext von einer äußeren Auswahlformel.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!