Zum Hauptinhalt springen

Ausdruckskonstanten, Operatoren und Funktionen

Das Dashboard verwendet eine Kriteriensprache zum Erstellen von Ausdrücken. Ein Ausdruck ist eine Zeichenkette, die einen bestimmten Wert auswertet. Die Kriteriensprache basiert auf einer plattformübergreifenden Bibliothek mit einigen Dashboard-spezifischen Ergänzungen und Einschränkungen. Dieses Thema beschreibt grundlegende und Dashboard-spezifische Konstanten, Operatoren und Funktionen.

Die folgenden Tabellen enthalten Konstanten, Operatoren und Funktionen, die Sie in Dashboard-Ausdrücken verwenden können.

Konstanten

KonstanteBeschreibungBeispiel
ZeichenkettenkonstantenZeichenkettenkonstanten werden in Apostrophe eingeschlossen. Wenn eine Zeichenkette ein Apostroph enthält, verdoppeln Sie das Apostroph.[Country] == 'France' or [Name] == 'O''Neil'
Datum-Zeit-KonstantenDatum-Zeit-Konstanten werden in '#' eingeschlossen.[OrderDate] >= #2018-03-22 13:18:51.94944#
TrueRepräsentiert den booleschen Wert True.[InStock] == True
FalseRepräsentiert den booleschen Wert False.[InStock] == False
AufzählungGeben Sie einen Aufzählungswert mit seinem zugrunde liegenden Ganzzahlwert an. Beachten Sie, dass Sie einen Aufzählungswert nicht mit seinem qualifizierten Namen angeben können.[Status] == 1
GuidGuid-Konstanten werden in geschweifte Klammern eingeschlossen. Verwenden Sie Guid-Konstanten nur in relationalen Operationen mit Gleichheits- oder Ungleichheitsoperatoren.[OrderID] == {513724e5-17b7-4ec6-abc4-0eae12c72c1f}
NumerischGeben Sie verschiedene numerische Konstantentypen in Zeichenkettenform mit Suffixen an: Int32 (int) - 1, Int16 (short) - 1s, Byte (byte) - 1b, Double (double) - 1.0, Single (float) - 1.0f, Decimal (decimal) - 1.0m,[Price] == 25.0m
?Repräsentiert eine Null-Referenz, die auf kein Objekt verweist. Wir empfehlen, den unären Operator IsNull (z. B. "[Region] is null") oder die logische Funktion IsNull (z. B. "IsNull([Region])") zu verwenden.[Region] != ?

Sie können parametrisierte Kriterien mit einer beliebigen Anzahl positionaler Parameter erstellen. Fügen Sie dazu Parameterplatzhalter (Fragezeichen) in einen Kriterienausdruck ein, um Parameterpositionen zu kennzeichnen, und stellen Sie eine Liste von Parameterwerten bereit. Beim Erstellen von Kriterien werden Parameterplatzhalter in der Reihenfolge, in der sie aufgeführt sind, durch Parameterwerte ersetzt.

CriteriaOperator.Parse("[Name] == ? and [Age] == ?", "John", 33)

Die folgenden zwei Beispiele sind identisch, aber das zweite ermöglicht es Ihnen, Formatierungsfehler zu vermeiden.

CriteriaOperator.Parse("[OrderDate] >= #1/1/2009#")

CriteriaOperator.Parse("[OrderDate] >= ?", new DateTime(2009, 1, 1))

Wenn keine Parameter angegeben werden, wird ein Parameterplatzhalter durch Null ersetzt.

CriteriaOperator.Parse("[Region] != ?")

Operatoren

OperatorBeschreibungBeispiel
+Addiert den Wert eines numerischen Ausdrucks zu einem anderen oder verkettet zwei Zeichenketten.[UnitPrice] + 4 or [FirstName] + ' ' + [LastName]
-Ermittelt die Differenz zwischen zwei Zahlen.[Price1] - [Price2]
*Multipliziert den Wert zweier Ausdrücke.[Quantity] * [UnitPrice] * (1 - [BonusAmount])
/Dividiert den ersten Operanden durch den zweiten.[Quantity] / 2
%Gibt den Rest (Modulus) zurück, der sich aus der Division eines numerischen Ausdrucks durch einen anderen ergibt.[Quantity] % 3
|Führt ein bitweises inklusives ODER auf zwei numerische Ausdrücke aus. Vergleicht jedes Bit des ersten Operanden mit dem entsprechenden Bit des zweiten Operanden. Wenn eines der Bits 1 ist, wird das entsprechende Ergebnisbit auf 1 gesetzt. Andernfalls wird das entsprechende Ergebnisbit auf 0 gesetzt.[Flag1]
&Der bitweise UND-Operator. Vergleicht jedes Bit des ersten Operanden mit dem entsprechenden Bit des zweiten Operanden. Wenn beide Bits 1 sind, wird das entsprechende Ergebnisbit auf 1 gesetzt. Andernfalls wird das entsprechende Ergebnisbit auf 0 gesetzt.[Flag] & 10
^Führt ein bitweises exklusives ODER auf zwei numerische Ausdrücke aus.[Flag1] ^ [Flag2]
==Gibt true zurück, wenn beide Operanden denselben Wert haben; andernfalls wird false zurückgegeben.[Quantity] == 10
=Gibt true zurück, wenn beide Operanden denselben Wert haben; andernfalls wird false zurückgegeben.[Quantity] = 10
!=Gibt true zurück, wenn die Operanden nicht denselben Wert haben; andernfalls wird false zurückgegeben.[Country] != 'France'
<Kleiner-als-Operator. Wird zum Vergleichen von Ausdrücken verwendet.[UnitPrice] < 20
<=Kleiner-gleich-Operator. Wird zum Vergleichen von Ausdrücken verwendet.[UnitPrice] <= 20
>=Größer-gleich-Operator. Wird zum Vergleichen von Ausdrücken verwendet.[UnitPrice] >= 30
>Größer-als-Operator. Wird zum Vergleichen von Ausdrücken verwendet.[UnitPrice] > 30
In (,,,)Prüft, ob eine Eigenschaft in einem Objekt vorhanden ist.[Country] In ('USA', 'UK', 'Italy')
Between (,)Gibt einen zu prüfenden Bereich an. Gibt true zurück, wenn ein Wert größer oder gleich dem ersten Operanden und kleiner oder gleich dem zweiten Operanden ist.[Quantity] Between (10, 20)
AndFührt eine logische Konjunktion auf zwei boolesche Ausdrücke aus.[InStock] And ([ExtendedPrice]> 100)
&&Führt eine logische Konjunktion auf zwei boolesche Ausdrücke aus.[InStock] && ([ExtendedPrice]> 100)
OrFührt eine logische Disjunktion auf zwei boolesche Ausdrücke aus.[Country]=='USA' Or [Country]=='UK'
|Führt eine logische Disjunktion auf zwei boolesche Ausdrücke aus.[Country]=='USA' | [Country]=='UK'
~Führt eine bitweise Negation auf einen numerischen Ausdruck aus.~[Roles] = 251
NotFührt eine logische Negation auf einen booleschen Ausdruck aus.Not [InStock]
!Führt eine logische Negation auf einen booleschen Ausdruck aus.![InStock]
+Gibt den Wert eines numerischen Ausdrucks zurück (ein unärer Operator).+[Value] = 10
-Gibt den negativen Wert eines numerischen Ausdrucks zurück (ein unärer Operator).-[Value] = 20
Is NullGibt true zurück, wenn ein Ausdruck eine Null-Referenz ist, die auf kein Objekt verweist.[Region] is null

Funktionen

Erweiterte Funktionen - Aggregationsebene auf Zwischenebene

FunktionBeschreibungBeispiel
aggr(SummaryExpression, Dimensions)Verwendet die durch eine vordefinierte Menge von Dimensionen und eine angegebene Zusammenfassungsfunktion festgelegte Detailebene, um zugrunde liegende Daten zu aggregieren.aggr(Sum([Sales]), [Category], [Product])
w(WindowExpression, partitionByFunction, orderByFunction)Berechnet aggregierte Werte mit der angegebenen Fensterfunktion für das durch die angegebene Partitionierung und Sortierung definierte Fenster.w(RankDense(Sum([ProductSales]), 'desc'), partitionBy([CategoryName]), orderBy())
partitionBy(column1, column2, ...)Gibt die Spalten an, nach denen die Datenzeilen partitioniert werden. Die Fensterfunktion wird auf jede Partition separat angewendet. Die Funktion partitionBy kann nur als Argument der w-Funktion verwendet werden.partitionBy([Product])
orderBy(column1, column2, ...)Gibt die logische Reihenfolge an, in der die Fensterfunktionsberechnung auf die Zeilen im Fenster angewendet wird. Die Funktion orderBy kann nur als Argument der w-Funktion verwendet werden.orderBy(GetYear([Date]), desc(Sum([Sales])))
asc(column)Gibt an, dass die Werte in der angegebenen Spalte in aufsteigender Reihenfolge sortiert werden. Dies ist die standardmäßige Sortierreihenfolge. Die Funktion asc kann nur als Argument der w-Funktion verwendet werden.asc(Sum([Sales]))
desc(column)Gibt an, dass die Werte in der angegebenen Spalte in absteigender Reihenfolge sortiert werden. Die Funktion desc kann nur als Argument der w-Funktion verwendet werden.desc(Sum([Sales]))

Aggregatfunktionen

FunktionBeschreibungBeispiel
Avg(Value)Gibt den Durchschnitt aller Werte im Ausdruck zurück.Avg([Profit])
Count()Gibt die Anzahl der Werte zurück.Count()
CountNotNull(Value)Gibt die Anzahl der Nicht-Null-Objekte in einer Sammlung zurück.CountNotNull([Orders])
CountDistinct(Value)Gibt die Anzahl der eindeutigen Werte zurück.CountDistinct([Orders])
Max(Value)Gibt den Maximalwert über alle Datensätze zurück.Max([Profit])
Min(Value)Gibt den Minimalwert über alle Datensätze zurück.Min([Profit])
Mode(Value)Gibt den Modus der Werte zurück.Mode([Profit])
Median(Value)Gibt den Median der Werte zurück.Median([Profit])
Sum(Value)Gibt die Summe aller Werte zurück.Sum([Profit])
Var(Value)Gibt eine Schätzung der Varianz einer Population zurück, wobei die Stichprobe eine Teilmenge der gesamten Population ist.Var([Orders])
Varp(Value)Gibt die Varianz einer Population zurück, wobei die Population die gesamten zu zusammenfassenden Daten umfasst.Varp([Orders])
StdDev(Value)Gibt eine Schätzung der Standardabweichung einer Population zurück, wobei die Stichprobe eine Teilmenge der gesamten Population ist.StdDev([Orders])
StdDevp(Value)Gibt die Standardabweichung einer Population zurück, wobei die Population die gesamten zu zusammenfassenden Daten umfasst.StdDevp([Orders])

Fensterfunktionen

FunktionBeschreibungBeispielBild
Last()Gibt die Anzahl der Zeilen von der aktuellen Zeile bis zur letzten Zeile im Fenster zurück.Last()CalculationFunction_Last
First()Gibt die Anzahl der Zeilen von der aktuellen Zeile bis zur ersten Zeile im Fenster zurück.First()CalculationFunction_First
Index()Gibt den Index der aktuellen Zeile im Fenster zurück.Index()CalculationFunction_Index
Size()Gibt die Anzahl der Zeilen im Fenster zurück.Size()CalculationFunction_Size
Lookup(SummaryExpression, Position)Gibt den Wert des Ausdrucks an einer Zielposition zurück, die als relativer Offset von der aktuellen Position angegeben wird.Lookup(Sum([Sales]), 3)CalculationFunction_Lookup
RankCompetition(SummaryExpression, [ 'asc''desc' ])Gibt den Standard-Wettbewerbsrang für die aktuelle Zeile im Fenster zurück.RankCompetition(Sum([Sales]), 'asc')
RankDense(SummaryExpression, [ 'asc''desc' ])Gibt den dichten Rang für die aktuelle Zeile im Fenster zurück.RankDense(Sum([Sales]), 'asc')
RankUnique(SummaryExpression, [ 'asc''desc' ])Gibt den eindeutigen Rang für die aktuelle Zeile im Fenster zurück.RankUnique(Sum([Sales]), 'asc')
RankModified(SummaryExpression, [ 'asc''desc' ])Gibt den modifizierten Wettbewerbsrang für die aktuelle Zeile im Fenster zurück.RankModified(Sum([Sales]), 'asc')
RankPercentile(SummaryExpression, [ 'asc''desc' ])Gibt den Perzentilrang für die aktuelle Zeile im Fenster zurück.RankPercentile(Sum([Sales]), 'desc')
RunningAvg(SummaryExpression)Gibt den laufenden Durchschnitt des angegebenen Ausdrucks von der ersten Zeile im Fenster bis zur aktuellen Zeile zurück.RunningAvg(Sum([Sales]))CalculationFunction_RunningAvg
RunningCount(SummaryExpression)Gibt die laufende Anzahl des angegebenen Ausdrucks von der ersten Zeile im Fenster bis zur aktuellen Zeile zurück.RunningCount(Sum([Sales]))-
RunningMax(SummaryExpression)Gibt das laufende Maximum des angegebenen Ausdrucks von der ersten Zeile im Fenster bis zur aktuellen Zeile zurück.RunningMax(Sum([Sales]))
RunningMin(SummaryExpression)Gibt das laufende Minimum des angegebenen Ausdrucks von der ersten Zeile im Fenster bis zur aktuellen Zeile zurück.RunningMin(Sum([Sales]))CalculationFunction_RunningMin
RunningSum(SummaryExpression)Gibt die laufende Summe des angegebenen Ausdrucks von der ersten Zeile im Fenster bis zur aktuellen Zeile zurück.RunningSum(Sum([Sales]))CalculationFunction_RunningSum
WindowAvg(SummaryExpression, StartOffset, EndOffset)Gibt den Durchschnitt des Ausdrucks innerhalb des Fensters zurück, das mithilfe von Offsets von der aktuellen Zeile definiert wird.WindowAvg(Sum([Sales]), First(), Last())CalculationFunction_WindowAvg
WindowCount(SummaryExpression, StartOffset, EndOffset)Gibt die Anzahl des Ausdrucks innerhalb des Fensters zurück.WindowCount(Sum([Sales]), First()+2, Last())
CalculationFunction_WindowCount_plus2
WindowCountDistinct(SummaryExpression, StartOffset, EndOffset)Gibt die eindeutige Anzahl des Ausdrucks innerhalb des Fensters zurück.WindowCountDistinct(Sum([Sales]), First(), Last())-
WindowMax(SummaryExpression, StartOffset, EndOffset)Gibt das Maximum des Ausdrucks innerhalb des Fensters zurück.WindowMax(Sum([Sales]), First(), Last())CalculationFunction_WindowMax
WindowMin(SummaryExpression, StartOffset, EndOffset)Gibt das Minimum des Ausdrucks innerhalb des Fensters zurück.WindowMin(Sum([Sales]), First(), Last())CalculationFunction_WindowMin
WindowMode(SummaryExpression, StartOffset, EndOffset)Gibt den Modus des Ausdrucks innerhalb des Fensters zurück.WindowMode(Sum([Sales]), First(), Last())-
WindowMedian(SummaryExpression, StartOffset, EndOffset)Gibt den Median des Ausdrucks innerhalb des Fensters zurück.WindowMedian(Sum([Sales]), First(), Last())CalculationFunction_WindowMedian
WindowSum(SummaryExpression, StartOffset, EndOffset)Gibt die Summe des Ausdrucks innerhalb des Fensters zurück.WindowSum(Sum([Sales]), First()+2, Last())CalculationFunction_WindowSum-plus2
WindowVar(SummaryExpression, StartOffset, EndOffset)Gibt die Varianz des Ausdrucks innerhalb des Fensters zurück.WindowVar(Sum([Sales]), First(), Last())-
WindowVarp(SummaryExpression, StartOffset, EndOffset)Gibt die verzerrte Varianz des Ausdrucks innerhalb des Fensters zurück.WindowVarp(Sum([Sales]), First(), Last())-
WindowStdDev(SummaryExpression, StartOffset, EndOffset)Gibt die Stichproben-Standardabweichung des Ausdrucks innerhalb des Fensters zurück.WindowStdDev(Sum([Sales]), First(), Last())-
WindowStdDevp(SummaryExpression, StartOffset, EndOffset)Gibt die verzerrte Standardabweichung des Ausdrucks innerhalb des Fensters zurück.WindowStdDevp(Sum([Sales]), First(), Last())-
Total(SummaryExpression)Gibt die Gesamtsumme basierend auf Werten aus der zugrunde liegenden Datenquelle für den angegebenen Ausdruck in einem Berechnungsfenster zurück.Total(Sum([Sales]))CalculationFunction_Total
info

Beachten Sie, dass Fensterfunktionen nicht innerhalb von Aggr verwendet werden können.

Datum-Zeit-Funktionen

FunktionBeschreibungBeispiel
AddDays(DateTime, DaysCount)Gibt einen Datum-Zeit-Wert zurück, der die angegebene Anzahl von Tagen vom angegebenen DateTime entfernt ist.AddDays([OrderDate], 30)
AddHours(DateTime, HoursCount)Gibt einen Datum-Zeit-Wert zurück, der die angegebene Anzahl von Stunden vom angegebenen DateTime entfernt ist.AddHours([StartTime], 2)
AddMilliSeconds(DateTime, MilliSecondsCount)Gibt einen Datum-Zeit-Wert zurück, der die angegebene Anzahl von Millisekunden vom angegebenen DateTime entfernt ist.AddMilliSeconds(([StartTime], 5000))
AddMinutes(DateTime, MinutesCount)Gibt einen Datum-Zeit-Wert zurück, der die angegebene Anzahl von Minuten vom angegebenen DateTime entfernt ist.AddMinutes([StartTime], 30)
AddMonths(DateTime, MonthsCount)Gibt einen Datum-Zeit-Wert zurück, der die angegebene Anzahl von Monaten vom angegebenen DateTime entfernt ist.AddMonths([OrderDate], 1)
AddSeconds(DateTime, SecondsCount)Gibt einen Datum-Zeit-Wert zurück, der die angegebene Anzahl von Sekunden vom angegebenen DateTime entfernt ist.AddSeconds([StartTime], 60)
AddTicks(DateTime, TicksCount)Gibt einen Datum-Zeit-Wert zurück, der die angegebene Anzahl von Ticks vom angegebenen DateTime entfernt ist.AddTicks([StartTime], 5000)
AddTimeSpan(DateTime, TimeSpan)Gibt einen Datum-Zeit-Wert zurück, der vom angegebenen DateTime um die angegebene Zeitspanne entfernt ist.AddTimeSpan([StartTime], [Duration])
AddYears(DateTime, YearsCount)Gibt einen Datum-Zeit-Wert zurück, der die angegebene Anzahl von Jahren vom angegebenen DateTime entfernt ist.AddYears([EndDate], -1)
DateDiffDay(startDate, endDate)Gibt die Anzahl der Tagesgrenzen zwischen zwei nicht-nullbaren Datumsangaben zurück.DateDiffDay([StartTime], Now())
DateDiffHour(startDate, endDate)Gibt die Anzahl der Stundengrenzen zwischen zwei nicht-nullbaren Datumsangaben zurück.DateDiffHour([StartTime], Now())
DateDiffMilliSecond(startDate, endDate)Gibt die Anzahl der Millisekundengrenzen zwischen zwei nicht-nullbaren Datumsangaben zurück.DateDiffMilliSecond([StartTime], Now())
DateDiffMinute(startDate, endDate)Gibt die Anzahl der Minutengrenzen zwischen zwei nicht-nullbaren Datumsangaben zurück.DateDiffMinute([StartTime], Now())
DateDiffMonth(startDate, endDate)Gibt die Anzahl der Monatsgrenzen zwischen zwei nicht-nullbaren Datumsangaben zurück.DateDiffMonth([StartTime], Now())
DateDiffSecond(startDate, endDate)Gibt die Anzahl der Sekundengrenzen zwischen zwei nicht-nullbaren Datumsangaben zurück.DateDiffSecond([StartTime], Now())
DateDiffTick(startDate, endDate)Gibt die Anzahl der Tick-Grenzen zwischen zwei nicht-nullbaren Datumsangaben zurück.DateDiffTick([StartTime], Now())
DateDiffYear(startDate, endDate)Gibt die Anzahl der Jahresgrenzen zwischen zwei nicht-nullbaren Datumsangaben zurück.DateDiffYear([StartTime], Now())
GetDate(DateTime)Extrahiert ein Datum aus dem definierten DateTime.GetDate([OrderDateTime])
GetDateHour(DateTime)Extrahiert den Datumsteil mit dem Stundenwert aus dem definierten DateTime.GetDateHour([OrderDate])
GetDateHourMinute(DateTime)Extrahiert den Datumsteil mit den Stunden- und Minutenwerten aus dem definierten DateTime.GetDateHourMinute([OrderDate])
GetDateHourMinuteSecond(DateTime)Extrahiert den Datumsteil mit den Stunden-, Minuten- und Sekundenwerten aus dem definierten DateTime.GetDateHourMinuteSecond([OrderDate])
GetDateMonthYear(DateTime)Extrahiert das Datum mit Monat und Jahr aus dem definierten DateTime.GetDateMonthYear([OrderDate])
GetDateQuarterYear(DateTime)Extrahiert das Datum mit Quartal und Jahr aus dem definierten DateTime.GetDateQuarterYear([OrderDate])
GetDateWeekYear()Gibt das Datum des ersten Wochentags für einen gegebenen DateTime zurück (verwendet Kultureinstellungen).GetDateHourMinuteSecond([OrderDate])
GetDay(DateTime)Extrahiert einen Tag aus dem definierten DateTime.GetDay([OrderDate])
GetDayOfWeek(DateTime)Extrahiert den Wochentag aus dem definierten DateTime.GetDayOfWeek([OrderDate])
GetDayOfYear(DateTime)Extrahiert den Tag des Jahres aus dem definierten DateTime.GetDayOfYear([OrderDate])
GetHour(DateTime)Extrahiert eine Stunde aus dem definierten DateTime.GetHour([StartTime])
GetMilliSecond(DateTime)Extrahiert Millisekunden aus dem definierten DateTime.GetMilliSecond([StartTime])
GetMinute(DateTime)Extrahiert Minuten aus dem definierten DateTime.GetMinute([StartTime])
GetMonth(DateTime)Extrahiert einen Monat aus dem definierten DateTime.GetMonth([StartTime])
GetSecond(DateTime)Extrahiert Sekunden aus dem definierten DateTime.GetSecond([StartTime])
GetTimeOfDay(DateTime)Extrahiert die Tageszeit aus dem definierten DateTime in Ticks.GetTimeOfDay([StartTime])
GetWeekOfMonth(DateTime)Extrahiert die Woche des Monats aus dem definierten DateTime.GetWeekOfMonth([OrderDate])
GetWeekOfYear(DateTime)Extrahiert die Kalenderwoche aus dem definierten DateTime.GetWeekOfYear([OrderDate])
GetYear(DateTime)Extrahiert ein Jahr aus dem definierten DateTime.GetYear([StartTime])
IsApril(DateTime)Gibt True zurück, wenn das angegebene Datum in den April fällt.IsApril([OrderDate])
IsAugust(DateTime)Gibt True zurück, wenn das angegebene Datum in den August fällt.IsAugust([OrderDate])
IsDecember(DateTime)Gibt True zurück, wenn das angegebene Datum in den Dezember fällt.IsDecember([OrderDate])
IsFebruary(DateTime)Gibt True zurück, wenn das angegebene Datum in den Februar fällt.IsFebruary([OrderDate])
IsJanuary(DateTime)Gibt True zurück, wenn das angegebene Datum in den Januar fällt.IsJanuary([OrderDate])
IsJuly(DateTime)Gibt True zurück, wenn das angegebene Datum in den Juli fällt.IsJuly([OrderDate])
IsJune(DateTime)Gibt True zurück, wenn das angegebene Datum in den Juni fällt.IsJune([OrderDate])
IsLastMonth(DateTime)Gibt True zurück, wenn das angegebene Datum in den vorherigen Monat fällt.IsLastMonth([OrderDate])
IsLastYear(DateTime)Gibt True zurück, wenn das angegebene Datum in das vorherige Jahr fällt.IsLastYear([OrderDate])
IsMarch(DateTime)Gibt True zurück, wenn das angegebene Datum in den März fällt.IsMarch([OrderDate])
IsMay(DateTime)Gibt True zurück, wenn das angegebene Datum in den Mai fällt.IsMay([OrderDate])
IsNextMonth(DateTime)Gibt True zurück, wenn das angegebene Datum in den nächsten Monat fällt.IsNextMonth([OrderDate])
IsNextYear(DateTime)Gibt True zurück, wenn das angegebene Datum in das nächste Jahr fällt.IsNextYear([OrderDate])
IsNovember(DateTime)Gibt True zurück, wenn das angegebene Datum in den November fällt.IsNovember([OrderDate])
IsOctober(DateTime)Gibt True zurück, wenn das angegebene Datum in den Oktober fällt.IsOctober([OrderDate])
IsSameDay(DateTime)Gibt True zurück, wenn die angegebenen Datum-/Zeit-Werte auf denselben Tag fallen.IsSameDay([OrderDate])
IsSeptember(DateTime)Gibt True zurück, wenn das angegebene Datum in den September fällt.IsSeptember([OrderDate])
IsThisMonth(DateTime)Gibt True zurück, wenn das angegebene Datum in den aktuellen Monat fällt.IsThisMonth([OrderDate])
IsThisWeek(DateTime)Gibt True zurück, wenn das angegebene Datum in die aktuelle Woche fällt.IsThisWeek([OrderDate])
IsYearToDate(DateTime)Gibt True zurück, wenn das angegebene Datum in den Zeitraum seit Jahresbeginn fällt. Dieser Zeitraum beginnt am ersten Tag des aktuellen Jahres und dauert bis zum aktuellen Datum (einschließlich des aktuellen Datums).IsYearToDate([OrderDate])
IsThisYear(DateTime)Gibt True zurück, wenn das angegebene Datum in das aktuelle Jahr fällt.IsThisYear([OrderDate])
LocalDateTimeDayAfterTomorrow()Gibt einen Datum-Zeit-Wert zurück, der dem Tag nach morgen entspricht.AddDays(LocalDateTimeDayAfterTomorrow(), 5)
LocalDateTimeLastMonth()Gibt den DateTime-Wert zurück, der dem ersten Tag des vorherigen Monats entspricht.AddMonths(LocalDateTimeLastMonth(), 5)
LocalDateTimeLastWeek()Gibt einen Datum-Zeit-Wert zurück, der dem ersten Tag der vorherigen Woche entspricht.AddDays(LocalDateTimeLastWeek(), 5)
LocalDateTimeLastYear()Gibt den DateTime-Wert zurück, der dem ersten Tag des vorherigen Jahres entspricht.AddYears(LocalDateTimeLastYear(), 5)
LocalDateTimeNextMonth()Gibt einen Datum-Zeit-Wert zurück, der dem ersten Tag des nächsten Monats entspricht.AddMonths(LocalDateTimeNextMonth(), 5)
LocalDateTimeNextWeek()Gibt einen Datum-Zeit-Wert zurück, der dem ersten Tag der folgenden Woche entspricht.AddDays(LocalDateTimeNextWeek(), 5)
LocalDateTimeNextYear()Gibt einen Datum-Zeit-Wert zurück, der dem ersten Tag des folgenden Jahres entspricht.AddYears(LocalDateTimeNextYear(), 5)
LocalDateTimeNow()Gibt einen Datum-Zeit-Wert zurück, der dem aktuellen Zeitpunkt entspricht.AddDays(LocalDateTimeNow(), 5)
LocalDateTimeThisMonth()Gibt einen Datum-Zeit-Wert zurück, der dem ersten Tag des aktuellen Monats entspricht.AddMonths(LocalDateTimeThisMonth(), 5)
LocalDateTimeThisWeek()Gibt einen Datum-Zeit-Wert zurück, der dem ersten Tag der aktuellen Woche entspricht.AddDays(LocalDateTimeThisWeek(), 5)
LocalDateTimeThisYear()Gibt einen Datum-Zeit-Wert zurück, der dem ersten Tag des aktuellen Jahres entspricht.AddYears(LocalDateTimeThisYear(), 5)
LocalDateTimeToday()Gibt einen Datum-Zeit-Wert zurück, der dem heutigen Tag entspricht.AddDays(LocalDateTimeToday(), 5)
LocalDateTimeTomorrow()Gibt einen Datum-Zeit-Wert zurück, der dem morgigen Tag entspricht.AddDays(LocalDateTimeTomorrow(), 5)
LocalDateTimeTwoMonthsAway()Gibt den DateTime-Wert zurück, der dem ersten Tag des übernächsten Monats entspricht.AddMonths(LocalDateTimeTwoMonthAway(), 5)
LocalDateTimeTwoWeeksAway()Gibt den DateTime-Wert zurück, der dem ersten Tag der übernächsten Woche entspricht.AddDays(LocalDateTimeTwoWeeksAway(), 5)
LocalDateTimeTwoYearsAway()Gibt den DateTime-Wert zurück, der dem ersten Tag des übernächsten Jahres entspricht.AddYears(LocalDateTimeTwoYearsAway(), 5)
LocalDateTimeYearBeforeToday()Gibt den DateTime-Wert zurück, der dem Tag vor einem Jahr entspricht.AddYears(LocalDateTimeYearBeforeToday(), 5)
LocalDateTimeYesterday()Gibt einen Datum-Zeit-Wert zurück, der dem gestrigen Tag entspricht.AddDays(LocalDateTimeYesterday(), 5)
MakeDateTime(Year, Month, Day)Gibt einen Datumswert zurück, der aus dem angegebenen Jahr, Monat und Tag erstellt wird.MakeDateTime(2018, 5, 5)
MakeDateTime(Year, Month, Day, Hour)Gibt einen Datumswert zurück, der aus dem angegebenen Jahr, Monat, Tag und der Stunde erstellt wird.MakeDateTime(2018, 5, 5, 20)
MakeDateTime(Year, Month, Day, Hour, Minute)Gibt einen Datumswert zurück, der aus dem angegebenen Jahr, Monat, Tag, der Stunde und Minute erstellt wird.MakeDateTime(2018, 5, 5, 20, 18)
MakeDateTime(Year, Month, Day, Hour, Minute, Second)Gibt einen Datumswert zurück, der aus dem angegebenen Jahr, Monat, Tag, der Stunde, Minute und Sekunde erstellt wird.MakeDateTime(2018, 5, 5, 20, 18, 30)
Now()Gibt das aktuelle Systemdatum und die Uhrzeit zurück.AddDays(Now(), 5)
ToDateTime(Value)Konvertiert Value in einen DateTime-Wert.ToDateTime([Orders])
Today()Gibt das aktuelle Datum zurück. Unabhängig von der tatsächlichen Uhrzeit gibt diese Funktion Mitternacht des aktuellen Datums zurück.AddMonths(Today(), 1)
UtcNow()Gibt das aktuelle Systemdatum und die Uhrzeit zurück, ausgedrückt als koordinierte Weltzeit (UTC).AddDays(UtcNow(), 7)

Logische Funktionen

| Funktion | Beschreibung | Beispiel

| Iif(Expression1, True_Value1, ..., ExpressionN, True_ValueN, False_Value) | Gibt einen von mehreren angegebenen Werten zurück, abhängig von den Werten logischer Ausdrücke.

Die Funktion kann 2N+1 Argumente annehmen (N - die Anzahl der angegebenen logischen Ausdrücke):

  • Jedes ungerade Argument gibt einen logischen Ausdruck an;

  • Jedes gerade Argument gibt den Wert an, der zurückgegeben wird, wenn der vorherige Ausdruck true ergibt;

  • ...

  • Das letzte Argument gibt den Wert an, der zurückgegeben wird, wenn die zuvor ausgewerteten logischen Ausdrücke false ergeben haben. | Iif(Name = 'Bob', 1, 0)")

Iif(Name = 'Bob', 1, Name = 'Dan', 2, Name = 'Sam', 3, 0)

| IsNull(Value) | Gibt True zurück, wenn der angegebene Wert NULL ist. | IsNull([OrderDate])

| IsNull(Value1, Value2) | Gibt Value1 zurück, wenn dieser nicht auf NULL gesetzt ist; andernfalls wird Value2 zurückgegeben. | IsNull([ShipDate], [RequiredDate])

| IsNullOrEmpty(String) | Gibt True zurück, wenn das angegebene String-Objekt NULL oder eine leere Zeichenkette ist; andernfalls wird False zurückgegeben. | IsNullOrEmpty([ProductName])

| ToBoolean(Value) | Konvertiert Value in einen äquivalenten booleschen Wert. | ToBoolean([Value])

Mathematische Funktionen

FunktionBeschreibungBeispiel
Abs(Value)Gibt den absoluten, positiven Wert des gegebenen numerischen Ausdrucks zurück.Abs(1 - [Discount])
Acos(Value)Gibt den Arkuskosinus einer Zahl zurück (den Winkel im Bogenmaß, dessen Kosinus der gegebene Gleitkommaausdruck ist).Acos([Value])
Asin(Value)Gibt den Arkussinus einer Zahl zurück (den Winkel im Bogenmaß, dessen Sinus der gegebene Gleitkommaausdruck ist).Asin([Value])
Atn(Value)Gibt den Arkustangens einer Zahl zurück (den Winkel im Bogenmaß, dessen Tangens der gegebene Gleitkommaausdruck ist).Atn([Value])
Atn2(Value1, Value2)Gibt den Winkel zurück, dessen Tangens der Quotient zweier angegebener Zahlen im Bogenmaß ist.Atn2([Value1], [Value2])
BigMul(Value1, Value2)Gibt ein Int64 zurück, das das vollständige Produkt zweier angegebener 32-Bit-Zahlen enthält.BigMul([Amount], [Quantity])
Ceiling(Value)Gibt die kleinste Ganzzahl zurück, die größer oder gleich dem numerischen Ausdruck ist.Ceiling([Value])
Cos(Value)Gibt den Kosinus des Winkels im Bogenmaß zurück.Cos([Value])
Cosh(Value)Gibt den Hyperbelkosinus des Winkels im Bogenmaß zurück.Cosh([Value])
Exp(Value)Gibt den Exponentialwert des Gleitkommaausdrucks zurück.Exp([Value])
Floor(Value)Gibt die größte Ganzzahl zurück, die kleiner oder gleich dem numerischen Ausdruck ist.Floor([Value])
Log(Value)Gibt den natürlichen Logarithmus einer angegebenen Zahl zurück.Log([Value])
Log(Value, Base)Gibt den Logarithmus einer angegebenen Zahl zur angegebenen Basis zurück.Log([Value], 2)
Log10(Value)Gibt den Zehnerlogarithmus einer angegebenen Zahl zurück.Log10([Value])
Max(Value1, Value2)Gibt den Maximalwert der angegebenen Werte zurück.Max([Value1], [Value2])
Min(Value1, Value2)Gibt den Minimalwert der angegebenen Werte zurück.Min([Value1], [Value2])
Power(Value, Power)Gibt eine angegebene Zahl potenziert mit einer angegebenen Potenz zurück.Power([Value], 3)
Rnd()Gibt eine Zufallszahl zurück, die kleiner als 1, aber größer oder gleich Null ist.Rnd()*100
Round(Value)Rundet den gegebenen Wert auf die nächste Ganzzahl.Round([Value])
Round(Value, Precision)Rundet den gegebenen Wert auf die nächste Ganzzahl oder auf eine angegebene Anzahl von Dezimalstellen.Round([Value], 2)
Sign(Value)Gibt das positive (+1), Null (0) oder negative (-1) Vorzeichen des gegebenen Ausdrucks zurück.Sign([Value])
Sin(Value)Gibt den Sinus des im Bogenmaß definierten Winkels zurück.Sin([Value])
Sinh(Value)Gibt den Hyperbelsinus des im Bogenmaß definierten Winkels zurück.Sinh([Value])
Sqr(Value)Gibt die Quadratwurzel einer gegebenen Zahl zurück.Sqr([Value])
Tan(Value)Gibt den Tangens des im Bogenmaß definierten Winkels zurück.Tan([Value])
Tanh(Value)Gibt den Hyperbeltangens des im Bogenmaß definierten Winkels zurück.Tanh([Value])
ToDecimal(Value)Konvertiert Value in eine äquivalente Dezimalzahl.ToDecimal([Value])
ToDouble(Value)Konvertiert Value in eine äquivalente 64-Bit-Gleitkommazahl mit doppelter Genauigkeit.ToDouble([Value])
ToFloat(Value)Konvertiert Value in eine äquivalente 32-Bit-Gleitkommazahl mit einfacher Genauigkeit.ToFloat([Value])
ToInt(Value)Konvertiert Value in eine äquivalente 32-Bit-Ganzzahl mit Vorzeichen.ToInt([Value])
ToLong(Value)Konvertiert Value in eine äquivalente 64-Bit-Ganzzahl mit Vorzeichen.ToLong([Value])

Zeichenkettenfunktionen

FunktionBeschreibungBeispiel
Ascii(String)Gibt den ASCII-Codewert des am weitesten links stehenden Zeichens in einem Zeichenausdruck zurück.Ascii('a')
Char(Number)Konvertiert einen ganzzahligen ASCII-Code in ein Zeichen.Char(65) + Char(51)
CharIndex(String1, String2)Gibt die Startposition von String1 innerhalb von String2 zurück, beginnend von der Zeichenposition Null bis zum Ende der Zeichenkette.CharIndex('x', 'inloox')
CharIndex(String1, String2, StartLocation)Gibt die Startposition von String1 innerhalb von String2 zurück, beginnend von der Zeichenposition StartLocation bis zum Ende der Zeichenkette.CharIndex('x', 'inloox', 6)
Concat(String1, ... , StringN)Gibt einen Zeichenkettenwert zurück, der die Verkettung der aktuellen Zeichenkette mit zusätzlichen Zeichenketten enthält.Concat('A', ')', [ProductName])
EndsWith(String1, SubString1)Gibt True zurück, wenn das Ende von String1 mit SubString1 übereinstimmt; andernfalls wird False zurückgegeben.EndsWith([Description], 'The end.')
Insert(String1, StartPosition, String2)Fügt String2 an der durch StartPosition angegebenen Position in String1 ein.Insert([Name], 0, 'ABC-')
Len(Value)Gibt eine Ganzzahl zurück, die entweder die Anzahl der Zeichen in einer Zeichenkette oder die nominale Anzahl der Bytes enthält, die zum Speichern einer Variablen erforderlich sind.Len([Description])
Lower(String)Gibt String in Kleinbuchstaben zurück.Lower([ProductName])
PadLeft(String, Length)Richtet die Zeichen der definierten Zeichenkette linksbündig aus und füllt die linke Seite mit Leerzeichen bis zu einer angegebenen Gesamtlänge auf.PadLeft([Name], 30)
PadLeft(String, Length, Char)Richtet die Zeichen der definierten Zeichenkette linksbündig aus und füllt die linke Seite mit dem angegebenen Zeichen bis zu einer angegebenen Gesamtlänge auf.PadLeft([Name], 30, '<')
PadRight(String, Length)Richtet die Zeichen der definierten Zeichenkette rechtsbündig aus und füllt die linke Seite mit Leerzeichen bis zu einer angegebenen Gesamtlänge auf.PadRight([Name], 30)
PadRight(String, Length, Char)Richtet die Zeichen der definierten Zeichenkette rechtsbündig aus und füllt die linke Seite mit dem angegebenen Zeichen bis zu einer angegebenen Gesamtlänge auf.PadRight([Name], 30, '>')
Remove(String, StartPosition)Löscht alle Zeichen aus dieser Instanz, beginnend an einer angegebenen Position.Remove([Name], 3)
Remove(String, StartPosition, Length)Löscht eine angegebene Anzahl von Zeichen aus dieser Instanz, beginnend an einer angegebenen Position.Remove([Name], 0, 3)
Replace(String, SubString2, String3)Gibt eine Kopie von String1 zurück, in der SubString2 durch String3 ersetzt wurde.Replace([Name], 'The ', '')
Reverse(String)Kehrt die Reihenfolge der Elemente in String um.Reverse([Name])
StartsWith(String1, SubString1)Gibt True zurück, wenn der Anfang von String1 mit SubString1 übereinstimmt; andernfalls False.StartsWith([Title], 'The best')
Substring(String, StartPosition, Length)Ruft eine Teilzeichenkette aus String ab. Die Teilzeichenkette beginnt an StartPosition und hat eine angegebene Länge.Substring([Description], 2, 3)
Substring(String, StartPosition)Ruft eine Teilzeichenkette aus String ab. Die Teilzeichenkette beginnt an StartPosition.Substring([Description], 2)
ToStr(Value)Gibt eine Zeichenkettendarstellung eines Objekts zurück.ToStr([ID])
Trim(String)Entfernt alle führenden und nachfolgenden Leerzeichen aus String.Trim([ProductName])
Upper(String)Gibt String in Großbuchstaben zurück.Upper([ProductName])

Operatorrangfolge

Wenn ein Ausdruck mehrere Operatoren enthält, steuert ihre Rangfolge die Reihenfolge, in der die Ausdruckselemente ausgewertet werden.

  • Literalwerte
  • Parameter
  • Bezeichner
  • OR (linksassoziativ)
  • AND (linksassoziativ)
  • ==, !=
  • <, >, <=, >=
  • -, + (linksassoziativ)
  • *, /, % (linksassoziativ)
  • NOT
  • unäres -
  • In
  • Iif
  • Trim(), Len(), Substring(), IsNull()
  • '[]' (für Mengeneinschränkung)
  • '()'

Die Standardrangfolge kann durch Gruppierung von Elementen mit Klammern geändert werden. Beispielsweise werden die Operatoren im ersten der folgenden zwei Codebeispiele in der Standardreihenfolge ausgeführt. Im zweiten Codebeispiel wird die Addition zuerst ausgeführt, da die zugehörigen Elemente mit Klammern gruppiert sind, und die Multiplikation wird zuletzt ausgeführt.

Amount == 2 + 48 * 2

Amount == (2 + 48) * 2

Groß-/Kleinschreibung

Operatoren unterscheiden nicht zwischen Groß- und Kleinschreibung. Die Groß-/Kleinschreibung von Feldwerten hängt jedoch von der Datenquelle ab.

hinweis

Eine Datenquelle beeinflusst das Verhalten bestimmter Operatoren. Beispielsweise ist SQL Server Express 2005 standardmäßig als nicht Groß-/Kleinschreibung unterscheidend konfiguriert. In diesem Fall ergibt der folgende Ausdruck immer true:

Lower(Name) == Upper(Name)

Schlüsselwörter maskieren

Sie können einen schlüsselwortähnlichen Feldnamen mit einem Escape-Zeichen (@ Zeichen) markieren. Im folgenden Ausdruck interpretiert die Methode CriteriaOperator.Parse @Or als das Feld namens "Or", nicht als den logischen Operator OR.

@Or = 'value'

Escape-Zeichen

Verwenden Sie einen Backslash () als Escape-Zeichen für Zeichen in Ausdrücken. Beispiele:

  • \[
  • \\
  • \'