Formel definieren (Dialogfeld) (Modell-Designer)
Mithilfe des Dialogfelds Daten filtern können Sie die von der Abfrage zurückgegebenen Daten einschränken. Um das Dialogfeld Daten filtern zu öffnen, klicken Sie auf der Symbolleiste auf die Schaltfläche Filter.
Das Dialogfeld enthält die Registerkarten Felder und Funktionen.
Mithilfe der Registerkarte Felder können Sie nach Feldern innerhalb des Berichtsmodells suchen, die in die Formel eingeschlossen werden sollen.
Mithilfe der Registerkarte Funktionen können Sie die Funktionen auswählen, die in der Formel verwendet werden sollen.
Optionen auf der Registerkarte 'Felder'
Entitäten
Listet die Entitäten auf. Klicken Sie auf eine Entität, um ihre Felder in der Liste Felder anzuzeigen.Felder
Listet die Felder in den Entitäten auf. Sie können ein Feld in das Textfeld Formel ziehen oder auf das Feld doppelklicken, um es dem Textfeld Formel hinzuzufügen.Neues Feld
Klicken Sie auf diese Option, um ein neues Feld hinzuzufügen. Der Wert Neues <Entitätsname>-Feld wird unter Feldname angezeigt.Feldname
Geben Sie einen Namen für das neue Feld ein, das Sie erstellen.Formel
Hiermit erstellen und bearbeiten Sie die Formel.Suchen
Klicken Sie hier, um das Dialogfeld Suchen zu öffnen.Erweiterter Modus
Klicken Sie auf diese Option, um zusätzliche Beziehungen zwischen den Entitäten anzuzeigen. Diese Beziehungen ermöglichen Ihnen, komplexe Abfragen zu erstellen. Wenn Sie auf die Schaltfläche Erweiterter Modus klicken, werden drei zusätzliche Arten von Rollen angezeigt:Umgekehrte Rollen. Umgekehrte Rollen zeigen die Beziehung zurück zu der Entität, von der Sie gerade gekommen sind.
Nachschlageentitäten. Eine Nachschlageentität ist eine Rolle, die nur ein relevantes Feld enthält.
Entitäten, die von den direkten Vorgängern der ausgewählten Entität erben, aber kein direkter Vorgänger der aktuellen Entität sind.
Hier aggregieren
Wenn Sie auf einen im Textfeld Formel angezeigten Feldnamen doppelklicken, wird die Beziehung zwischen der primären Entität und der Entität des Felds angezeigt. Klicken Sie, um dem Ausdruck an einer beliebigen Stelle des Modellpfads ein Aggregat hinzuzufügen.Kurztasten für Funktionen
Klicken Sie hier, um der im Textfeld Formel angezeigten Formel einen Operator hinzuzufügen. Im Dialogfeld Formel definieren sind Kurztasten für die am häufigsten verwendeten Funktionen verfügbar. Sie können diese Operatoren jedoch auch aus der Registerkarte Funktionen auswählen. Es folgt eine Erklärung zu den einzelnen abkürzenden Funktionen.+ Hiermit addieren Sie zwei Werte.
- Subtrahieren eines Wertes von einem anderen.
* Multiplizieren von zwei Werten.
/ Dividieren von zwei Werten.
& Hiermit verketten Sie zwei Werte.
( Hiermit starten Sie eine Berechnung.
) Hiermit beenden Sie eine Berechnung.
Erweiterte Formel
Wenn Sie auf einen im Textfeld Formel angezeigten Feldnamen doppelklicken, wird die Beziehung zwischen der primären Entität und der Entität des Felds angezeigt. Sie können an jeder beliebigen Stelle des Modellpfads einen Filter auf den Ausdruck anwenden.Klicken Sie auf Kein Filter angewendet und anschließend auf Neuen Filter erstellen, um einen neuen Filter für das Feld zu erstellen.
Wenn das Feld bereits über einen Filter verfügt, klicken Sie auf den Filter und dann auf Filter bearbeiten.
Zum Entfernen eines vorhandenen Filters klicken Sie auf den Filter und dann auf Entfernen.
Diese Formel als neues <Entitätsname>-Feld speichern
Aktivieren Sie das Kontrollkästchen, um anzugeben, dass die Formel als Feld hinzugefügt werden soll.
Optionen auf der Registerkarte 'Funktionen'
Im Folgenden werden die einzelnen in der Registerkarte Funktionen des Dialogfelds Formel definieren enthaltenen Funktionen beschrieben.
Aggregate
Verwenden Sie zum Zusammenfassen einer Reihe von numerischen Werten die folgenden Funktionen.
SUMME
Gibt die Summe aller Werte innerhalb des Ausdrucks zurück.Syntax
SUM(aggregate)
SUMME kann nur mit Feldern verwendet werden, die numerische Werte enthalten. NULL-Werte werden ignoriert.
DURCHSCHNITT
Gibt den Durchschnitt (das arithmetische Mittel) aller Werte ungleich NULL innerhalb des Ausdrucks zurück.Syntax
AVERAGE(aggregate)
DURCHSCHNITT kann nur mit Feldern verwendet werden, die numerische Werte enthalten. NULL-Werte werden ignoriert.
MAX
Gibt den größten Wert im Ausdruck zurück.Syntax
MAX(aggregate)
Bei Zeichenspalten findet MAX den höchsten Wert gemäß der Sortierreihenfolge. NULL-Werte werden ignoriert.
MIN
Gibt den kleinsten Wert im Ausdruck zurück.Syntax
MIN(aggregate)
Bei Zeichenspalten findet MIN den kleinsten Wert gemäß der Sortierreihenfolge. NULL-Werte werden ignoriert.
ANZAHL
Gibt die Anzahl von Elementen ungleich NULL innerhalb einer Gruppe zurück.Syntax
COUNT(aggregate)
ANZAHL gibt immer einen Wert vom Int-Datentyp zurück.
ANZAHLUNTERSCHIEDL
Gibt die Anzahl von unterschiedlichen Instanzen ungleich NULL eines Elements innerhalb einer Gruppe zurück.Syntax
COUNTDISTINCT(aggregate)
STDABWEICHUNG
Gibt die Standardabweichung von Werten ungleich NULL eines Elements zurück.Syntax
STDEV(aggregate)
STDABWEICHUNGAUFFÜLL
Gibt die Standardabweichung der Auffüllung von Werten ungleich NULL eines Elements zurück.Syntax
STDEVP(aggregate)
VARIANZ
Gibt die Varianz von Werten ungleich NULL eines Elements zurück.Syntax
VAR(aggregate)
VARIANZAUFFÜLL
Gibt die Auffüllungsvarianz von Werten ungleich NULL eines Elements zurück.Syntax
VARP(aggregate)
Bedingt
Verwenden Sie zum Testen einer Bedingung folgende Funktionen.
FALLS
Gibt einen Wert zurück, wenn Sie eine Bedingung angeben, die zu TRUE ausgewertet wird, und einen anderen Wert, wenn Sie eine Bedingung angeben, die zu FALSE ausgewertet wird.Syntax
IF(condition, value_if_true, value_if_false)
Die Bedingung muss ein Wert oder ein Ausdruck sein, der zu TRUE oder zu FALSE ausgewertet werden kann. Value_if_true steht für den Wert, der zurückgegeben wird, wenn die Bedingung TRUE ergibt. Value_if_false steht für den Wert, der zurückgegeben wird, wenn die Bedingung FALSE ergibt.
IN
Bestimmt, ob ein Element zu einer Menge gehört.Syntax
IN(item, set)
MEHRFACHBEDINGUNG
Wertet eine Liste von Ausdrücken aus und gibt den Wert eines Ausdrucks zurück, der dem ersten Ausdruck in der Liste zugeordnet ist, der TRUE ergibt. Es können ein oder mehrere Bedingung/Wert-Paare angegeben werden.Syntax
Switch(condition1, value1)
Konvertierung
Verwenden Sie die folgenden Funktionen, um einen Wert von einem Datentyp in einen anderen Datentyp zu konvertieren.
GANZEZAHL
Konvertiert einen Wert in eine ganze Zahl.Syntax
INT(value)
DEZIMAL
Konvertiert einen Wert in eine Dezimalzahl.Syntax
DECIMAL(value)
GLEITKOMMAZAHL
Konvertiert einen Wert in einen Gleitkommazahl-Datentyp.Syntax
FLOAT(value)
TEXT
Konvertiert einen numerischen Wert in Text.Syntax
TEXT(value)
Datum und Zeit
Verwenden Sie die folgenden Funktionen zum Anzeigen des Datums oder der Uhrzeit.
DATUM
Gibt einen datetime-Wert für ein bestimmtes Jahr, einen Monat und einen Tag um 12:00:00 Uhr zurück.Syntax
DATE(year, month, day)
NURDATUM
Gibt das Jahr, den Monat und den Tag aus einem datetime-Wert zurück.Syntax
DATEONLY(datetime)
DATUMZEIT
Gibt das Jahr, den Monat, den Tag, die Stunde, die Minute und die Sekunde zurück.Syntax
DATETIME(year, month, day, hour, minute, second)
JAHR
Gibt das Jahr eines datetime-Wertes zurück.Syntax
YEAR(datetime)
QUARTAL
Gibt das Kalenderquartal aus einem datetime-Wert zurück.Syntax
QUARTER(datetime)
MONAT
Gibt den Monat aus einem datetime-Wert zurück.Syntax
MONTH(datetime)
TAG
Extrahiert den Tag aus einem datetime-Wert.Syntax
DAY(datetime)
STUNDE
Extrahiert die Stunde aus einem datetime-Wert.Syntax
HOUR(datetime)
MINUTE
Extrahiert die Minute aus einem datetime-Wert.Syntax
MINUTE(datetime)
SEKUNDE
Extrahiert die Sekunde aus einem datetime-Wert.Syntax
SECOND(datetime)
TAGDESJAHRES
Gibt den Tag des Jahres aus dem datetime-Wert zurück. 1. Januar = 1 bis 31. Dezember = 366 (wobei ein Schaltjahr vorausgesetzt wird).Syntax
DAYOFYEAR(datetime)
WOCHE
Gibt den numerischen Wert für die Woche innerhalb des Kalenderjahres zurück.Syntax
WEEK(datetime)
TAGDERWOCHE
Gibt den Tag der Woche zurück, beginnend mit Montag. Montag = 1 bis Sonntag = 7.Syntax
DAYOFWEEK(datetime)
JETZT
Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück.Syntax
NOW( )
HEUTE
Gibt das aktuelle Datum zurück.Syntax
TODAY( )
DATUMSDIFFERENZ
Gibt die Differenz zwischen Start-datetime und End-datetime zurück.Syntax
DATEDIFF(interval, datetime, datetime)
DATUMADDIEREN
Gibt einen datetime-Wert zurück, der das Ergebnis der Addition der angegebenen Anzahl von Zeitintervalleinheiten mit dem ursprünglichen datetime-Wert ist.Syntax
DATEADD(interval, units, datetime)
Logische Operatoren
Verwenden Sie die folgenden Funktionen, um die Logik einer Bedingung zu testen.
UND
Gibt TRUE zurück, wenn alle Argumente TRUE sind, und gibt FALSE zurück, wenn mindestens ein Argument FALSE ist.Syntax
AND(logical, logical)
Die Argumente müssen zu logischen Werten wie TRUE oder FALSE ausgewertet werden, oder die Argumente müssen Arrays oder Verweise mit logischen Werten sein. Wenn ein Array oder Verweisargument Text oder leere Zellen enthält, werden diese Werte ignoriert.
ODER
Gibt TRUE zurück, wenn ein Argument TRUE ist, und gibt FALSE zurück, wenn alle Argumente FALSE sind.Syntax
OR(logical, logical)
Die Argumente müssen zu logischen Werten wie TRUE oder FALSE ausgewertet werden oder in Arrays oder Verweisen mit logischen Werten enthalten sein. Wenn ein Array oder Verweis Text oder leere Zellen enthält; werden diese Werte ignoriert.
NICHT
Kehrt den Wert des Arguments um. Verwenden Sie NICHT, wenn Sie sicherstellen möchten, dass eine Klausel ungleich einem bestimmten Wert ist.Syntax
NOT(logical)
Wenn der Wert FALSE ist, gibt NICHT TRUE zurück; wenn der Wert TRUE ist, gibt NICHT FALSE zurück.
Mathematische Funktionen
Verwenden Sie die folgenden Funktionen, um numerische Werte zu bearbeiten.
MOD
Gibt den Rest zurück, der nach der Division einer Zahl durch einen Divisor übrig bleibt. Der Divisor darf nicht 0 sein.Syntax
MOD(number, divisor)
ABSCHNEIDEN
Schneidet eine Zahl um die angegebene Anzahl von Stellen ab. Ist die Zahl positiv, wird sie rechts von der Dezimalstelle abgeschnitten. Ist die Zahl negativ, wird sie links von der Dezimalstelle abgeschnitten.Syntax
TRUNC(number, digits)
RUNDEN
Rundet eine Zahl auf eine angegebene Anzahl von Stellen.Syntax
ROUND(number, digits)
Ist die Anzahl der Stellen größer als 0 (Null), wird die Zahl auf die angegebene Anzahl von Dezimalstellen gerundet. Ist die Anzahl von Stellen 0, wird die Zahl auf die nächste ganze Zahl gerundet. Ist die Anzahl kleiner als 0, wird die Zahl links vom Dezimalkomma gerundet.
Operatoren
Arithmetische Operatoren
Verwenden Sie die folgenden Operatoren, um einfache mathematische Operationen wie Addition, Subtraktion und Multiplikation durchzuführen, Zahlen zu kombinieren und numerische Ergebnisse zu berechnen. Kurztasten für Funktionen enthält die am häufigsten verwendeten arithmetischen Operatoren.
+ Addition
Hiermit werden mindestens zwei Elemente zusammengefügt.Syntax
Wert + Wert
- Subtraktion
Hiermit wird ein Element von einem anderen Element subtrahiert.Syntax
Wert - Wert
* Multiplikation
Hiermit werden Elemente multipliziert.Syntax
Wert* Wert
/ Division
Hiermit werden Elemente dividiert. Der Divisor darf nicht 0 sein.Syntax
Wert / Divisor
- Negieren
Hiermit wird das Vorzeichen des Wertes geändert.Syntax
-Wert
^ Potenzierung
Hiermit wird ein Wert in eine Potenz erhoben (Potenzierung).Syntax
Wert^Potenz
= Gleich
Hiermit werden zwei Werte gleichgesetzt. TRUE, wenn value1 gleich value2 ist.Syntax
value1= value2
<> Ungleich
Hiermit wird angegeben, dass zwei Werte nicht identisch sind. TRUE, wenn value1 nicht mit value2 identisch ist.Syntax
value1 <> value2
> Größer als
Hiermit wird angegeben, dass ein Wert größer als ein anderer Wert ist. True, wenn Value1 größer als Value2 ist.Syntax
value1 > value2
>= Größer als oder gleich
Hiermit wird angegeben, dass ein Wert größer als oder gleich einem anderen Wert ist. TRUE, wenn value1 größer als oder gleich value2 ist.Syntax
value1 >= value2
< Kleiner als
Hiermit wird angegeben, dass ein Wert kleiner als ein anderer Wert ist. TRUE, wenn value1 kleiner als value2 ist.Syntax
value1 < value2
<= Kleiner als oder gleich
Hiermit wird angegeben, dass ein Wert kleiner als oder gleich einem anderen Wert ist. TRUE, wenn value1 kleiner als oder gleich value2 ist.Syntax
value1 <= value2
Text
Verwenden Sie die folgenden Funktionen, um Text zu bearbeiten.
VERKETTEN (&)
Fasst zwei Zeichenfolgen zusammen. Die zweite Zeichenfolge wird an die erste Zeichenfolge angefügt.Syntax
string & string
SUCHEN
Position der ersten Instanz einer Zeichenfolge.Syntax
FIND(string, substring)
LINKS
Gibt von links ausgehend die Zeichen einer Zeichenfolge zurück. Wenn Sie für das length-Argument innerhalb der Funktion einen Wert kleiner 0 angeben, ist das Verhalten nicht definiert.Syntax
LEFT(string, length)
LÄNGE
Gibt die Anzahl von Zeichen in einer Zeichenfolge zurück.Syntax
LENGTH(string)
KLEINBUCHSTABEN
Konvertiert eine Zeichenfolge von Großbuchstaben in Kleinbuchstaben.Syntax
LOWER(string)
LSCHNEIDEN
Gibt eine Zeichenfolge zurück, aus der die führenden Leerzeichen entfernt wurden.Syntax
LTRIM(string)
ERSETZEN
Gibt eine Zeichenfolge zurück, in der alle Instanzen einer Teilzeichenfolge durch eine andere Teilzeichenfolge ersetzt wurden.Syntax
REPLACE(find, replace, string)
RECHTS
Gibt von rechts ausgehend die Zeichen einer Zeichenfolge zurück. Wenn Sie für das length-Argument innerhalb der Funktion einen Wert kleiner 0 angeben, ist das Verhalten nicht definiert.Syntax
RIGHT(string, length)
RSCHNEIDEN
Gibt eine Zeichenfolge zurück, aus der die nachfolgenden Leerzeichen entfernt wurden.Syntax
RTRIM(string)
TEXT
Konvertiert einen numerischen Wert in eine Zeichenfolge.Syntax
TEXT(value)
TEILZEICHENFOLGE
Gibt eine Teilzeichenfolge innerhalb einer Zeichenfolge zurück. Wenn Sie für das length-Argument innerhalb der Funktion einen Wert kleiner 0 angeben, ist das Verhalten nicht definiert.Syntax
SUBSTRING(string, start, length)
GROSSBUCHSTABEN
Konvertiert eine Zeichenfolge von Kleinbuchstaben in Großbuchstaben.Syntax
UPPER(string)
Informationen
Verwenden Sie die folgenden Funktionen, um allgemeine Informationen zu Benutzern zurückzugeben.
BENUTZERID
Gibt die ID zurück, mit der der Benutzer auf die Daten zugegriffen hat.Syntax
GETUSERID()
BENUTZERGEBIETSSCHEMA
Gibt die Sprache bzw. das Gebietsschema des Benutzers zurück.Syntax
GETUSERCULTURE()