Aggregierung mit Auswahlformeln
Wenn Sie eine Auswahl in einer App treffen, definieren Sie eine Teilmenge der Datensätze in den Daten. Aggregierungsfunktionen wie Sum(), Max(), Min(), Avg() und Count() werden anhand dieser Teilmenge berechnet.
Ihre Auswahl definiert also den Umfang der Aggregierung, den Satz der Datensätze, mit denen Berechnungen durchgeführt werden.
Aggregierung mit Auswahlformeln bietet eine Möglichkeit, einen Umfang zu definieren, der sich vom durch die aktuellen Auswahlen definierten Satz an Datensätzen unterscheidet. Dieser neue Umfang kann auch als alternative Auswahl betrachtet werden.
Das kann nützlich sein, wenn Sie die aktuelle Auswahl mit einem bestimmten Wert vergleichen möchten, beispielsweise dem Wert des letzten Jahres oder dem globalen Marktanteil.
Auswahlformeln
Auswahlformeln können inner- und außerhalb von Aggregierungsfunktionen verwendet werden und sind in geschweifte Klammern eingeschlossen.
Beispiel: Innere Auswahlformel
Sum( {$<Year={2021}>} Sales )
Beispiel: Äußere Auswahlformel
{<Year={2021}>} Sum(Sales) / Count(distinct Customer)
Weitere Informationen zu inneren und äußeren Auswahlformeln finden Sie unter Innere und äußere Auswahlformeln.
Eine Auswahlformel besteht aus einer Kombination der folgenden Elemente:
-
Identifikatoren. Ein Identifikator für Auswahlformeln stellt eine Auswahl dar, die anderswo definiert wurde. Er stellt auch eine bestimmte Gruppe Datensätze in den Daten dar. Es kann sich um die aktuelle Auswahl, eine Auswahl durch ein Lesezeichen oder eine Auswahl durch einen alternativen Zustand handeln. Eine einfache Auswahlformel besteht aus einem einzelnen Identifikator, wie dem Dollarzeichen, {$}, was alle Datensätze in der aktuellen Auswahl bedeutet.
Beispiele: $, 1, BookMark1, State2
-
Operatoren. Ein Operator für Auswahlformeln kann verwendet werden, um Verbindungen, Unterschiede oder Überschneidungen zwischen verschiedenen Identifikatoren für Auswahlformeln zu erstellen. Auf diese Weise können Sie eine Teilmenge oder eine Obermenge der durch die Identifikatoren für Auswahlformeln definierten Auswahlen erstellen.
Beispiele: +, -, *, /
-
Modifikatoren. Ein Modifikator für Auswahlformeln kann zu einem Identifikator für Auswahlformeln hinzugefügt werden, um dessen Auswahl zu ändern. Ein Modifikator kann auch für sich selbst verwendet werden und ändert in diesem Fall den Standardidentifikator. Ein Modifikator muss in spitze Klammern eingeschlossen werden (<…>).
Beispiele: <Year={2020}>, <Supplier={ACME}>
Die Elemente werden so kombiniert, dass sie Auswahlformeln bilden.
Die obige Auswahlformel wird beispielsweise anhand der Aggregierung Sum(Sales) erstellt.
Der erste Operand gibt Umsätze für das Jahr 2021 für die aktuelle Auswahl zurück, was durch den Identifikator für Auswahlformeln $ und den Modifikator angegeben wird, der die Auswahl des Jahres 2021 enthält. Der zweite Operand gibt Sales für Sweden zurück und ignoriert die aktuelle Auswahl, was durch den Identifikator für Auswahlformeln 1 angegeben wird.
Schließlich gibt die Formel einen Satz bestehend aus den Datensätzen zurück, die zu einem beliebigen der beiden Operanden gehören, wie durch den Operanden + angegeben.
Eine vollständige Beschreibung der Syntax finden Sie unter Syntax für Auswahlformeln.
Beispiele
Beispiele, in denen die obigen Elemente für Auswahlformeln kombiniert werden, finden Sie in den folgenden Themen:
-
Modifikatoren für Auswahlformeln mit impliziten Operatoren für Auswahlformeln
-
Modifikatoren für Auswahlformeln mit Funktionen für Auswahlformeln
Informationen zum Ausprobieren anderer Formeln finden Sie unter Tutorial – Erstellen einer Auswahlformel.
Natürliche Sätze
In der Regel steht eine Auswahlformel sowohl für einen Satz Datensätze im Datenmodell als auch für eine Auswahl, welche diese Teilmenge der Daten definiert. In diesem Fall wird die Gruppe als natürlicher Satz bezeichnet.
Identifikatoren für Auswahlformeln, mit oder ohne Modifikatoren für Auswahlformeln, stellen immer natürliche Sätze dar.
Eine Auswahlformel, die Operatoren für Auswahlformeln verwendet, kann zwar ebenfalls eine Teilmenge der Datensätze darstellen, kann aber in der Regel nicht anhand einer Auswahl von Feldwerten beschrieben werden. Eine solche Formel ist ein nicht natürlicher Satz.
Beispielsweise kann der von {1-$} angegebene Satz nicht immer durch eine Auswahl definiert werden. Daher ist er kein natürlicher Satz. Dies kann gezeigt werden, indem die folgenden Daten geladen und zu einer Tabelle hinzugefügt werden und dann Auswahlen mithilfe von Filterfenstern getroffen werden.
Load * Inline
[Dim1, Dim2, Number
A, X, 1
A, Y, 1
B, X, 1
B, Y, 1];
Indem Sie Auswahlen für Dim1 und Dim2 treffen, erhalten Sie die in der folgenden Tabelle gezeigte Ansicht.
Die Auswahlformel in der ersten Kennzahl verwendet einen natürlichen Satz: Sie entspricht der Auswahl, die in {$} getroffen wird.
Die zweite Kennzahl ist anders. Sie verwendet {1-$}. Es ist nicht möglich, eine Auswahl zu treffen, die diesem Satz entspricht, also handelt es sich um einen nicht natürlichen Satz.
Diese Unterscheidung hat eine Reihe von Folgen:
-
Modifikatoren für Auswahlformeln können nur auf Identifikatoren für Auswahlformeln angewendet werden. Sie können nicht auf eine beliebige Auswahlformel angewendet werden. Beispielsweise ist es nicht möglich, eine Auswahlformel wie die folgende zu verwenden:
{ (BM01 * BM02) <Field={x,y}> }
Hier geben die normalen (runden) Klammern an, dass die Überscheidung zwischen BM01 und BM02 ausgewertet werden muss, bevor der Modifikator für Auswahlformeln angewendet wird. Der Grund ist, dass kein Elementsatz vorhanden ist, der geändert werden kann.
-
Sie können keine nicht natürlichen Sätze innerhalb von P()- und E()-Elementfunktionen verwenden. Diese Funktionen geben einen Elementsatz zurück, aber es ist nicht möglich, den Elementsatz aus einem nicht natürlichen Satz herzuleiten.
-
Eine Kennzahl, die einen nicht natürlichen Satz verwendet, kann nicht immer dem richtigen Dimensionswert zugeordnet werden, wenn das Datenmodell viele Tabellen enthält. Beispielsweise werden im folgenden Diagramm einige ausgeschlossene Umsatzzahlen dem richtigen Country zugeordnet, während andere NULL als Country aufweisen.
Ob die Zuweisung korrekt erfolgt oder nicht, hängt vom Datenmodell ab. In diesem Fall kann die Zahl nicht zugewiesen werden, wenn sie zu einem Land gehört, das durch die Auswahl ausgeschlossen wurde.
Identifikator | Beschreibung |
---|---|
1 | Stellt den vollständigen Satz aller Datensätze in der Anwendung dar, unabhängig von den vorgenommenen Auswahlen. |
$ | Stellt die Datensätze der aktuellen Auswahl dar. Die Auswahlformel {$} bezeichnet die aktuelle Auswahl und kann somit auch weggelassen werden. |
$1 | Stellt die vorherige Auswahl dar. $2 stellt die vorletzte Auswahl dar und so weiter. |
$_1 | Stellt die nächste (vorwärts) Auswahl dar. $_2 stellt die übernächste Auswahl dar und so weiter. |
BM01 | Sie können eine Lesezeichen-ID oder einen Lesezeichennamen verwenden. |
MyAltState | Sie können die in einem alternativen Status getroffenen Auswahlen nach dem Statusnamen referenzieren. |
Beispiel | Ergebnis |
---|---|
sum ({1} Sales) | Liefert den Umsatz für alle Werte der App, unabhängig von den aktuellen Auswahlen, aber nicht von der Dimension. |
sum ({$} Sales) |
Liefert den Umsatz für die aktuelle Auswahl, äquivalent zu sum(Sales). |
sum ({$1} Sales) |
Liefert den Umsatz für die vorherige Auswahl. |
sum ({BM01} Sales) |
Liefert den Umsatz für das Lesezeichen mit dem Namen BM01. |
Beispiel | Ergebnis |
---|---|
sum({$<OrderDate = DeliveryDate>} Sales) | Liefert den Umsatz für die aktuelle Auswahl OrderDate = DeliveryDate. |
sum({1<Region = {US}>} Sales) |
Liefert den Umsatz für die Region USA, ohne die aktuelle Auswahl zu berücksichtigen. |
sum({$<Region = >} Sales) |
Liefert den Umsatz für die Auswahl, aber ohne die Auswahl im Feld Region. |
sum({<Region = >} Sales) |
Entspricht dem Beispiel darüber. Wird kein Modifikator verwendet, wird $ angenommen. |
sum({$<Year={2000}, Region={“U*”}>} Sales) | Liefert den Umsatz für die aktuelle Auswahl, jedoch mit neuen Auswahlen in Year und Region. |