Formel definieren (Dialogfeld) [Modell-Designer]
Wird zum Erstellen eines neuen, eine Formel enthaltenden Feldes verwendet. Beispiele für gültige Formeln finden Sie unter Verwenden von Funktionen (Berichts-Generator).
Optionen
- Felder
Verwenden Sie diese Registerkarte, um die Felder des Berichtsmodells zu ermitteln, die der Ausdruck enthalten soll. Doppelklicken Sie auf ein Feld, um es dem Ausdruck hinzuzufügen.
- Funktionen
Verwenden Sie diese Registerkarte, um die Funktion auszuwählen, die Sie in dem Ausdruck verwenden möchten. Doppelklicken Sie auf die Funktion, um sie dem Ausdruck hinzuzufügen. Eine Beschreibung der einzelnen Funktionen finden Sie im folgenden Abschnitt.
- Feldname
Geben Sie einen Namen für den Ausdruck ein, den Sie erstellen.
- Formel
Verwenden Sie diese Option, um die Formel zu schreiben und zu bearbeiten.
- Suchen
Öffnet das Dialogfeld Suchen.
- Hier aggregieren
Wenn Sie auf einen im Formelfeld angezeigten Feldnamen doppelklicken, wird die Beziehung zwischen der primären Entität und der Entität des Feldes angezeigt. Klicken Sie, um dem Ausdruck an einer beliebigen Stelle des Modellpfades ein Aggregat hinzuzufügen.
- Kein Filter angewendet
Wenn Sie auf einen im Formelfeld angezeigten Feldnamen doppelklicken, wird die Beziehung zwischen der primären Entität und der Entität des Feldes angezeigt. Sie können an einer beliebigen Stelle des Modellpfades einen Filter auf den Ausdruck anwenden. Klicken Sie, um einen Filter auf den Ausdruck anzuwenden, und klicken Sie dann auf Neuen Filter erstellen. Das Dialogfeld Daten filtern wird geöffnet.
Kurztasten für Funktionen
Klicken Sie, um der Formel den im Formelfeld angezeigten 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 der einzelnen Kurztasten:+ Addieren von zwei Werten.
- Subtrahieren eines Wertes von einem anderen.
* Multiplizieren von zwei Werten.
/ Dividieren von zwei Werten.
& Verketten von zwei Werten.
( Beginn einer Berechnung.
) Ende einer Berechnung.
Funktionen
Im Folgenden werden die einzelnen in der Registerkarte Funktionen des Dialogfeldes Formel definieren enthaltenen Funktionen beschrieben.
Aggregat
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 eine Bedingung zu TRUE ausgewertet wird, und einen anderen Wert, wenn eine Bedingung 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 des ersten Ausdrucks in der Liste zurück, 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 float-Datentyp.Syntax
FLOAT(value)
TEXT
Konvertiert einen numerischen Wert in Text.Syntax
TEXT(value)
Datum und Uhrzeit
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 aus einem datetime-Wert 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 die aktuellen Werte für Datum und Uhrzeit zurück.Syntax
NOW( )
HEUTE
Gibt das aktuelle Datum zurück.Syntax
TODAY( )
DATUMSDIFFERENZ
Gibt die Differenz zwischen Startdatum/-zeit und Enddatum/-zeit 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)
Logisch
Verwenden Sie zum Testen der Logik einer Bedingung folgende Funktionen.
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 können oder 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 können, oder Arrays oder Verweise mit logischen Werten sein. Wenn ein Array bzw. ein 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 einen bestimmten Wert nicht besitzt.Syntax
NOT(logical)
Wenn der Wert FALSE ist, gibt NOT TRUE zurück; wenn der Wert TRUE ist, gibt NOT FALSE zurück.
Mathematisch
Verwenden Sie die folgenden Funktionen zum Manipulieren von numerischen Werten.
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 vom Dezimaltrennzeichen abgeschnitten. Ist die Zahl negativ, wird sie links vom Dezimaltrennzeichen abgeschnitten.Syntax
TRUNC(number, digits)
RUNDEN
Rundet eine Zahl auf eine angegebene Anzahl von Stellen.Syntax
ROUND(number, digits)
Wenn die Anzahl Stellen größer 0 (null) ist, wird die Zahl auf die angegebene Anzahl von Dezimalstellen gerundet. Wenn die Anzahl Stellen 0 ist, wird die Zahl auf die nächste ganze Zahl gerundet. Wenn die Zahl kleiner 0 ist, wird sie links vom Dezimaltrennzeichen gerundet.
Operatoren
Arithmetische Operatoren
Zum Ausführen grundlegender mathematischer Operationen wie Addition, Subtraktion, Multiplikation sowie für das Kombinieren von Zahlen und das Erzeugen numerischer Ergebnisse können Sie die folgenden Operatoren verwenden.
+ Addition
Hiermit werden mindestens zwei Elemente zusammengefügt.Syntax
value + value
- Subtraktion
Hiermit wird ein Element von einem anderen Element subtrahiert.Syntax
value- value
* Multiplikation
Hiermit werden Elemente multipliziert.Syntax
value* value
/ Division
Hiermit werden Elemente dividiert. Der Divisor darf nicht 0 sein.Syntax
value/divisor
- Negation
Hiermit wird das Vorzeichen von Elementen umgekehrt.Syntax
-value
^ Potenzierung
Hiermit wird ein Wert in eine Potenz ausgegeben (Potenzierung).Syntax
value^power
Vergleichsoperatoren
Verwenden Sie die folgenden Operatoren, um zwei Werte zu vergleichen und einen logischen Wert von TRUE oder FALSE zurückzugeben.
= 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 zum Manipulieren von Text innerhalb des Berichts.
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, wobei die führenden Leerzeichen entfernt werden.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, wobei die nachfolgenden Leerzeichen entfernt werden.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 globale 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()
Siehe auch
Konzepte
Andere Ressourcen
Vorgehensweisen zum Modell-Designer
Arbeiten mit dem Modell-Designer
Arbeiten mit Rollen, Quellfeldern und Ausdrücken