Bearbeiten von Ausdrücken
Die Bearbeitung von Ausdrücken erfolgt durch die manuelle Eingabe von Bedingungen, die in ihrer Gesamtheit eine Regel bilden. Dieser Modus bietet erweiterte Funktionen, mit denen Sie die Werte zur Durchführung bestimmter Abfragen ändern können, z. B. Bearbeitung von Daten, Zeichenfolgen, Nummernfeldern, Sortierungen, usw.
Arbeiten mit dem Ausdruckseditor
Der Ausdruckseditor steht bei der Konfiguration einer benutzerdefinierten Bedingung im Abfrage-Modeler unter Ausdruck bearbeiten für die Felder Attribut und Wert zur Verfügung.
Zugriff über das Feld Attribut | Zugriff über das Feld Wert |
---|---|
![]() |
![]() |
Der Ausdruckseditor bietet Folgendes:
- Ein Eingabefeld (1), in dem der Ausdruck definiert wird.
- Die Liste der verfügbaren Felder (2), die im Ausdruck verwendet werden können und die der Zielgruppendimension der Abfrage entsprechen.
- Hilfsfunktionen (3), sortiert nach Kategorie.
Bearbeiten Sie den Ausdruck, indem Sie ihn direkt in das Eingabefeld eingeben. Um ein Feld oder eine Hilfsfunktion hinzuzufügen, gehen Sie mit dem Cursor zu dem Ausdruck, zu dem Sie es/sie hinzufügen möchten, und klicken Sie auf die Schaltfläche „+“.
Wenn Ihr Ausdruck fertig ist, klicken Sie auf Bestätigen. Der Ausdruck wird im ausgewählten Feld angezeigt. Öffnen Sie zum Bearbeiten den Ausdruckseditor und nehmen Sie die gewünschten Änderungen vor.
Das folgende Beispiel zeigt einen für das Feld Wert konfigurierten Ausdruck. Um ihn zu bearbeiten, müssen Sie den Ausdruckseditor über die Schaltfläche Ausdruck bearbeiten öffnen.
Hilfsfunktionen
Der Abfrageeditor bietet fortgeschrittene Funktionen zur Erstellung komplexer Filter, je nach den gewünschten Ergebnissen und der Art der bearbeiteten Daten. Folgende Funktionen stehen zur Verfügung:
Aggregat
Die Aggregatfunktionen dienen der Durchführung von Berechnungen zu einer Reihe von Werten.
Name | Beschreibung | Syntax |
Avg | Gibt den Durchschnittswert einer Spalte vom Typ Zahl aus | Avg(<Wert>) |
Count | Zählt die Werte ungleich null einer Spalte | Count(<Wert>) |
CountAll | Zählt die ausgegebenen Werte (alle Felder) | CountAll() |
Countdistinct | Zählt die unterschiedlichen Werte ungleich null einer Spalte | Countdistinct(<Wert>) |
Max | Gibt den Höchstwert einer Spalte vom Typ Zahl, String oder Datum aus | Max(<Wert>) |
Min | Gibt den Mindestwert einer Spalte vom Typ Zahl, String oder Datum aus | Min(<Wert>) |
StdDev | Gibt die Standardabweichung einer Zahl, Zeichenfolge oder Datumsspalte aus | StdDev(<Wert>) |
StringAgg | Gibt die Verkettung der Werte einer Spalte vom Typ „String“ zurück, getrennt durch das Zeichen im zweiten Argument | StringAgg(<Wert>, <String>) |
Sum | Gibt die Summe der Werte einer Spalte vom Typ Zahl, String oder Datum aus | Sum(<Wert>) |
Datum
Die Datumsfunktionen dienen der Manipulation von Datums- oder Uhrzeitwerten.
Name | Beschreibung | Syntax |
AddDays | Fügt dem Datum eine Anzahl an Tagen hinzu | AddDays(<Datum>, <Zahl>) |
AddHours | Fügt dem Datum eine Anzahl an Stunden hinzu | AddHours(<Datum>, <Zahl>) |
AddMinutes | Fügt dem Datum eine Anzahl an Minuten hinzu | AddMinutes(<Datum>, <Zahl>) |
AddMonths | Fügt dem Datum eine Anzahl an Monaten hinzu | AddMonths(<Datum>, <Zahl>) |
AddSeconds | Fügt dem Datum eine Anzahl an Sekunden hinzu | AddSeconds(<Datum>, <Zahl>) |
AddYears | Fügt dem Datum eine Anzahl an Jahren hinzu | AddYears(<Datum>, <Zahl>) |
ConvertNTZ | Konvertiert NTZ-Zeitstempel (Zeitstempel ohne Zeitzone) in TZ (Zeitstempel mit Zeitzone) unter Anwendung der definierten Sitzungs-Zeitzone | ConvertNTZ (<date+time>) |
DateCmp | Vergleicht zwei Daten | DateCmp(<Datum>,<Datum>) |
DateOnly | Gibt nur das Datum aus (mit Uhrzeit = 00:00 Uhr)* | DateOnly(<Datum>) |
Day | Gibt die Zahl aus, die dem Tag des Datums entspricht | Day(<Datum>) |
DayOfYear | Gibt die Zahl des Tages im Jahr des angegebenen Datums aus | DayOfYear(<Datum>) |
DaysAgo | Gibt das Datum aus, das dem aktuellen Datum abzüglich n Tage entspricht | DaysAgo(<Zahl>) |
DaysAgoInt | Gibt das Datum (Integer JJJJMMTT) aus, das dem aktuellen Datum abzüglich n Tage entspricht | DaysAgoInt(<Zahl>) |
DaysDiff | Anzahl von Tagen zwischen zwei Daten | DaysDiff(<Enddatum>, <Startdatum>) |
DaysOld | Gibt das Alter in Tagen in Bezug auf ein Datum aus | DaysOld(<Datum>) |
GetDate | Gibt das aktuelle Systemdatum des Servers aus | GetDate() |
Hour | Gibt die Stunde der im Datum angegebenen Uhrzeit aus | Hour(<Datum>) |
HoursDiff | Gibt die Anzahl von Stunden zwischen zwei Daten aus | HoursDiff(<Enddatum>, <Startdatum>) |
Minute | Gibt die Minuten der im Datum angegebenen Uhrzeit aus | Minute(<Datum>) |
MinutesDiff | Gibt die Anzahl von Minuten zwischen zwei Daten aus | MinutesDiff(<Enddatum>, <Startdatum>) |
Month | Gibt die Zahl aus, die dem Monat des Datums entspricht | Month(<Datum>) |
MonthsAgo | Gibt das Datum aus, das dem aktuellen Datum abzüglich n Monate entspricht | MonthsAgo(<Zahl>) |
MonthsDiff | Gibt die Anzahl von Monaten zwischen zwei Daten aus | MonthsDiff(<Enddatum>, <Startdatum>) |
MonthsOld | Gibt das Alter in Monaten in Bezug auf ein Datum aus | MonthsOld(<Datum>) |
Oldest | Gibt das älteste Datum in einem Bereich zurück | Oldest(<Datum, Datum>) |
Second | Gibt die Sekunden der im Datum angegebenen Uhrzeit aus | Second(<Datum>) |
SecondsDiff | Gibt die Anzahl von Sekunden zwischen zwei Daten aus | SecondsDiff(<Enddatum>, <Startdatum>) |
SubDays | Zieht die angegebene Anzahl von Tagen vom Datum ab | SubDays(<Datum>, <Zahl>) |
SubHours | Zieht die angegebene Anzahl von Stunden vom Datum ab | SubHours(<Datum>, <Zahl>) |
SubMinutes | Zieht die angegebene Anzahl von Minuten vom Datum ab | SubMinutes(<Datum>, <Zahl>) |
SubMonths | Zieht die angegebene Anzahl von Monaten vom Datum ab | SubMonths(<Datum>, <Zahl>) |
SubSeconds | Zieht die angegebene Anzahl von Sekunden vom Datum ab | SubSeconds(<Datum>, <Zahl>) |
SubYears | Zieht die angegebene Anzahl von Jahren vom Datum ab | SubYears(<Datum>, <Zahl>) |
ToDate | Konvertiert eine Angabe Datum+Uhrzeit in Datum alleine | ToDate(<Datum + Uhrzeit>) |
ToDateTime | Konvertiert einen String in Datum+Uhrzeit | ToDateTime(<String>) |
ToTimestamp | Konvertiert einen String in einen Zeitstempel | ToTimestamp(<String>) |
ToTimeZone | Konvertiert Datum + Uhrzeit in eine Zeitzone | ToTimeZone(<Datum>,<time zone>) |
TruncDate | Kürzt die Angabe Datum+Uhrzeit auf Sekunden | TruncDate(@lastModified, <Anzahl Sekunden>) |
TruncDateTZ | Kürzt die Angabe Datum+Uhrzeit auf Sekunden | TruncDateTZ(<Datum>, <Anzahl Sekunden>, <Zeitzone>) |
TruncQuarter | Kürzt die Angabe des Datums auf den ersten Tag des Quartals | TruncQuarter(<Datum>) |
TruncTime | Kürzt die Uhrzeitangabe auf Sekunden | TruncTime(<Datum>, <Anzahl Sekunden>) |
TruncWeek | Kürzt ein Datum auf die Woche | TruncWeek(<Datum>) |
TruncYear | Kürzt die Angabe Datum+Uhrzeit auf den ersten Januar des Jahres | TruncYear(<Datum>) |
WeekDay | Gibt die Zahl des Wochentages in Bezug auf das Datum aus (0=Montag, 6=Sonntag) | WeekDay(<Datum>) |
Year | Gibt die Zahl aus, die dem Jahr des Datums entspricht | Year(<Datum>) |
YearAndMonth | Gibt Jahr und Monat eines Datums aus | YearAndMonth(<Datum>) |
YearsAgo | Gibt die Anzahl von Jahren zwischen einem bestimmten Datum und dem aktuellen Datum wieder | YearsAgo(<date>) |
YearsDiff | Gibt die Anzahl von Jahren zwischen zwei Daten aus | YearsDiff(<Enddatum>, <Startdatum>) |
YearsOld | Gibt das Alter in Jahren in Bezug auf ein Datum aus | YearsOld(<Datum>) |
Geomarketing
Die Geomarketing-Funktionen dienen der Manipulation von geografischen Werten.
Name | Beschreibung | Syntax |
Distance | Gibt die Entfernung zwischen zwei durch Längen- und Breitengrad bezeichneten Punkten aus (in Grad). | Distance(<Längengrad A>, <Breitengrad A>, <Längengrad B>, <Breitengrad B>) |
Numerisch
Die numerischen Funktionen dienen der Konversion von Text in Zahlen.
Name | Beschreibung | Syntax |
Abs | Gibt den absoluten Wert einer Zahl aus | Abs(<Zahl>) |
Ceil | Gibt die kleinste ganze Zahl aus, die größer oder gleich der angegebenen Zahl ist | Ceil(<Zahl>) |
Floor | Gibt die größte ganze Zahl aus, die kleiner oder gleich der angegebenen Zahl ist | Floor(<Zahl>) |
Greatest | Gibt die größere von zwei Zahlen aus | Greatest(<Zahl 1>, <Zahl 2>) |
Least | Gibt die kleinere von zwei Zahlen aus | Least(<Zahl 1>, <Zahl 2>) |
Mod | Gibt den Rest der ganzzahligen Division von n1 durch n2 aus | Mod(<Zahl 1>, <Zahl 2>) |
Percent | Gibt das Verhältnis zwischen zwei Werten in Prozent aus | Percent(<Zahl 1>, <Zahl 2>) |
Random | Gibt einen Zufallswert aus | Random() |
Round | Rundet eine Zahl auf n Dezimalstellen | Round(<Zahl>, <Anzahl Dezimalstellen>) |
Sign | Gibt das Vorzeichen einer Zahl aus | Sign(<Zahl>) |
ToDouble | Konvertiert einen Integer in einen Real | ToDouble(<Zahl>) |
ToInt64 | Konvertiert einen Real in einen 64-Bit-Integer | ToInt64(<Zahl>) |
ToInteger | Konvertiert einen Real in einen Integer | ToInteger(<Zahl>) |
Trunc | Kürzt n1 auf n2 Dezimalstellen | Trunc(<n1>, <n2>) |
Sonstige
In dieser Tabelle sind die restlichen verfügbaren Funktionen enthalten.
Name | Beschreibung | Syntax |
AESEncrypt | Verschlüsselt den im Argument angegebenen String | AESEncrypt(<Wert>) |
Case | Gibt Wert 1 zurück, wenn die Bedingung zutrifft. Wenn nicht, wird Wert 2 zurückgegeben. | Case(When(<Bedingung>, <Wert 1>), Else(<Wert 2>)) |
ClearBit | Löscht das Flag aus dem Wert | ClearBit(<Kennung>, <Flag>) |
Coalesce | Gibt den Wert 2 aus, wenn der Wert 1 gleich null oder leer ist, sonst den Wert 1 | Coalesce(<Wert 1>, <Wert 2>) |
Decode | Gibt Wert 3 zurück, wenn Wert 1 = Wert 2 ist. Wenn nicht, wird Wert 4 zurückgegeben. | Decode(<Wert 1>, <Wert 2>, <Wert 3>, <Wert 4>) |
Else | Gibt den Wert 1 aus (kann nur als Parameter der 'Case'-Funktion verwendet werden) | Else(<Wert 1>, <Wert 2>) |
GetEmailDomain | Extrahiert die Domain einer E-Mail-Adresse | GetEmailDomain(<Wert>) |
GetMirrorURL | Ruft die URL des Mirrorseiten-Servers ab | GetMirrorURL(<Wert>) |
Iif | Gibt Wert 1 aus, wenn die Bedingung zutrifft. Wenn nicht, wird Wert 2 zurückgegeben | Iif(<Bedingung>, <Wert 1>, <Wert 2>) |
IsBitSet | Gibt an, ob das Flag im Wert vorkommt | IsBitSet(<Kennung>, <Flag>) |
IsEmptyString | Gibt den Wert 2 aus, wenn der String 1 leer ist, sonst den Wert 3 | IsEmptyString(<Wert 1>, <Wert 2>, <Wert 3>) |
NewUUID | Gibt eine eindeutige ID zurück | NewUUID() |
NoNull | Gibt einen Leerstring aus, wenn das Argument gleich null ist | NoNull(<Wert>) |
RowId | Gibt die Zeilennummer aus | RowId |
SetBit | Setzt das Flag im Wert | SetBit(<Kennung>, <Flag>) |
ToBoolean | Konvertiert eine Zahl in einen booleschen Wert | ToBoolean(<Zahl>) |
When | Gibt Wert 1 aus, wenn die Bedingung zutrifft. Falls nicht, wird Wert 2 zurückgegeben (kann nur als Parameter der Case-Funktion verwendet werden) | When(<Bedingung>, <Wert 1>) |
String
Die String-Funktionen dienen der Manipulation einer Reihe von Strings.
Name | Beschreibung | Syntax |
AllNonNull2 | Gibt an, ob alle Parameter ungleich null und nicht leer sind | AllNonNull2(<String>, <String>) |
AllNonNull3 | Gibt an, ob alle Parameter ungleich null und nicht leer sind | AllNonNull3(<String>, <String>, <String>) |
Ascii | Gibt den ASCII-Wert des ersten Zeichens des Strings aus. | Ascii(<String>) |
Char | Gibt das ASCII-Code-Zeichen 'n' aus | Char(<Zahl>) |
Charindex | Gibt die Position von Zeichenfolge 2 in Zeichenfolge 1 zurück. | Charindex(<string>, <string>) |
dataLength | Gibt die Größe der Zeichenfolge in Bytes zurück | dataLength(<string>) |
GetLine | Gibt die n-te Zeile (beginnend bei 1) des Strings aus | GetLine(<String>) |
IfEquals | Gibt den dritten Parameter zurück, wenn die ersten beiden Parameter identisch sind. Wenn nicht, wird der letzte Parameter zurückgegeben | IfEquals(<String>, <String>, <String>, <String>) |
IsMemoNull | Gibt an, ob das als Parameter ausgegebene Memo gleich null ist | IsMemoNull(<Memo>) |
JuxtWords | Verkettet die zwei als Parameter übergebenen Zeichenfolgen. Fügt bei Bedarf Leerzeichen zwischen den Zeichenfolgen hinzu. | JuxtWords(<String>, <String>) |
JuxtWords3 | Verkettet die zwei als Parameter übergebenen Zeichenfolgen. Fügt bei Bedarf Leerzeichen zwischen den Zeichenfolgen hinzu | JuxtWords3(<string>, <string>, <string>) |
Left | Gibt die n ersten Zeichen des Strings aus | Left(<String>, <Zahl>) |
Length | Gibt die Länge des Strings aus | Length(<String>) |
Zeile | Extrahiert Zeile n aus dem String | Line(<String>,<Zahl>) |
Lower | Gibt den String in Kleinbuchstaben aus | Lower(<String>) |
LPad | Gibt den String linksseitig aufgefüllt aus | LPad (<String>, <Number>, <Char>) |
Ltrim | Löscht die Leerstellen links vom String | Ltrim(<String>) |
Md5Digest | Gibt eine hexadezimale Darstellung des MD5-Schlüssels eines Strings aus | Md5Digest(<String>) |
MemoContains | Gibt an, ob das Memo den als Parameter übergebenen String enthält | MemoContains(<Memo>, <String>) |
NodeValue | Extrahiert den Wert eines XML-Felds aus seinem XPath und den Felddaten | NodeValue (<String>, <String>) |
Replace | Ersetzt alle Vorkommen eines angegebenen String-Werts durch einen anderen String-Wert. | Replace(<String>,<String>,<String>) |
Right | Gibt die n letzten Zeichen des Strings aus | Right(<String>) |
RPad | Gibt den String rechtsseitig aufgefüllt aus | RPad(<String>, <Zahl>, <Zeichen>) |
Rtrim | Löscht die Leerstellen rechts vom String | Rtrim(<String>) |
Sha256Digest | Hexadezimale Darstellung des SHA256-Schlüssels einer Zeichenfolge. | Sha256Digest (<String>) |
Sha512Digest | Hexadezimale Darstellung des SHA512-Schlüssels einer Zeichenfolge. | Sha512Digest (<String>) |
Smart | Gibt jedes Wort des Strings beginnend mit einem Großbuchstaben aus | Smart(<String>) |
Substring | Extrahiert aus dem String den Teilstring, der mit dem Zeichen n1 beginnt und die Länge n2 aufweist | Substring(<String>, <Start>, <Länge>) |
ToString | Konvertiert eine Zahl in einen String | ToString(<Zahl>, <Zahl>) |
Upper | Gibt den String in Großbuchstaben aus | Upper(<String>) |
VirtualLink | Gibt den Fremdschlüssel einer als erster Parameter übergebenen Relation aus, wenn die beiden anderen Parameter identisch sind | VirtualLink(<Zahl>, <Zahl>, <Zahl>) |
VirtualLinkStr | Gibt den Fremdschlüssel (Text) einer als erster Parameter übergebenen Relation aus, wenn die beiden anderen Parameter identisch sind | VirtualLinkStr(<String>, <Zahl>, <Zahl>) |
Window
Name | Beschreibung | Syntax |
_Over__ | Ruft die als ersten Parameter eingegebene SQL-Funktion über die als zweiten Parameter eingegebenen Felder „Partition“ oder „Anordnen nach“ aus | _Over_ (<Value>, <Value>) |
Desc | Absteigende Sortierung | Desc(<Wert 1>) |
OrderBy | Sortiert das Ergebnis innerhalb der Partition | OrderBy(<Wert 1>) |
PartitionBy | Partitioniert das Ergebnis einer Abfrage | PartitionBy(<Wert 1>) |
RowNum | Erzeugt eine Zeilennummer in Abhängigkeit von der Tabellenpartition und der Sortierreihenfolge | RowNum(PartitionBy(<Wert 1>), OrderBy(<Wert 1>)) |