Verweise auf Felder, Kennzahlen und Variablen
Eine Formel kann Verweise auf Felder, Variablen und Kennzahlen enthalten.
In den meisten Fällen sind Formeln Aggregierungen, d. h. Berechnungen, die potenziell zahlreiche Datensätze umfassen können. Das bedeutet, dass alle Feldreferenzen in Formeln von einer Aggregierungsfunktion umschlossen sein müssen. Wenn keine Aggregierungsfunktion verwendet wird, wird die Funktion Only() genutzt.
Wenn der Name einer Kennzahl in einer Formel verwendet wird, wird er als Alias für die Kennzahl interpretiert. Damit wird die Wiederverwendung eines bereits definierten Elements zugelassen. Sie können die Beschriftungen von Master-Kennzahlen und Diagrammkennzahlen auf diese Weise verwenden. Die Diagrammkennzahl muss sich aber im gleichen Diagramm befinden. Sie können keine Beschriftungen von Kennzahlen in anderen Diagrammen verwenden.
Sie können eine Kennzahl rekursiv definieren. Die Kennzahl kann also einen Bezug auf sich selbst enthalten. Das sollte aber nur in Diagrammen mit wenigen Zeilen genutzt werden. Bei Diagrammen mit vielen Zeilen kommt es zu einer Leistungsverschlechterung. Wenn Hunderte von Zeilen vorhanden sind, versagt die rekursive Definition vollständig.
Eine Variable kann auf zwei verschiedene Weisen verwendet werden: in einem direkten Bezug oder in einer Dollarzeichenerweiterung. Wenn Sie einen direkten Bezug verwenden, wird der Variablenwert in der Berechnung verwendet. Wenn Sie eine Dollarzeichenerweiterung verwenden, wird die gesamte Dollarzeichenerweiterung durch den Variablenwert ersetzt, bevor die Formel analysiert wird. Daher können die beiden unterschiedlichen Methoden verschiedene Ergebnisse liefern.
Interpretation von Namen
Ein Name in einer Formel kann einen Bezug auf ein Feld, eine Variable, eine Funktion oder eine Kennzahl darstellen. Der Name kann situationsabhängig unterschiedlich interpretiert werden.
Beispiel:
Die Zeichenfolge XXX steht für ein Feld, eine Variable, eine Funktion oder eine Kennzahl. Je nachdem, wie Sie die Formel erstellen, wird XXX als eine davon interpretiert.
Formel | XXX interpretiert als |
---|---|
XXX | Kennzahl, Variable oder Feld |
$(XXX) | Variable |
Count(XXX) | Feld oder Variable |
XXX() | Funktion |
Verwenden Sie nicht den gleichen Namen für ein Feld und eine Variable (bzw. eine Kennzahl). Wenn Sie es dennoch tun und eine Mehrdeutigkeit eintritt, wird die folgende Vorrangsreihenfolge verwendet:
-
Wenn der Name in einer Aggregierungsfunktion gefunden wird, hat ein Feld Vorrang vor einer Variablen.
-
Wenn der Name außerhalb einer Aggregierungsfunktion gefunden wird, hat eine Kennzahlbezeichnung Vorrang vor einem Variablennamen, der wiederum Vorrang vor einem Feldnamen hat.
Regeln für Formeln
Folgende Regeln gelten für Diagrammformeln:
-
Wenn eine Feldreferenz nicht von einer Aggregierungsfunktion umschlossen ist, wird die Funktion Only() von der Engine verwendet.
-
Alle Formeln liefern als Ergebnis eine Zahl und/oder einen String.
-
Logische Funktionen und Operatoren liefern 0 für False und -1 für True. Umwandlungen von Zahlen in Strings und Strings in Zahlen sind implizit.
-
Logische Operatoren und Funktionen interpretieren 0 als False und alles andere als True.
-
Formeln, die nicht eindeutig ausgewertet werden können, z. B. aufgrund falscher Parameter oder Funktionen, ergeben NULL.