F Ausdrucks-Editor - Referenz

In diesem Abschnitt werden die Ausdruckselemente beschrieben, die Sie im Ausdruckseditor verwenden können.

Themen:

SQL-Operatoren

Mit SQL-Operatoren werden Vergleiche und arithmetische Vorgänge zwischen Ausdrücken angegeben.

Sie können verschiedene Typen von SQL-Operatoren verwenden.

Operator Beispiel Beschreibung Syntax

BETWEEN

"COSTS"."UNIT_COST" BETWEEN 100.0 AND 5000.0

Bestimmt, ob ein Wert zwischen zwei Grenzwerten liegt, diese nicht eingeschlossen.

Dem Operator BETWEEN kann NOT vorangestellt werden, um die Bedingung zu negieren.

BETWEEN [LowerBound] AND [UpperBound]

IN

"COSTS"."UNIT_COST" IN(200, 600, 'A')

Bestimmt, ob ein Wert in einem Werteset enthalten ist.

IN ([Comma Separated List])

IS NULL

"PRODUCTS"."PROD_NAME" IS NULL

Bestimmt, ob ein Wert Null ist.

IS NULL

LIKE

"PRODUCTS"."PROD_NAME" LIKE 'prod%'

Bestimmt, ob ein Wert ganz oder teilweise mit einer Zeichenfolge übereinstimmt. Wird oft mit Platzhalterzeichen verwendet, um eine beliebige Zeichenfolgenübereinstimmung mit null oder mehr Zeichen (%) oder eine beliebige Einzelzeichenübereinstimmung (_) anzugeben.

LIKE

+

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Pluszeichen für Addition.

+

-

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Minuszeichen für Subtraktion.

-

* oder X

SUPPORT_SERVICES_EXPENDITURE * 1.5

Multiplikationszeichen für Multiplikation.

*

X

/

CAPITAL_OUTLAY_EXPENDITURE/1.05

Teilungszeichen für Division.

/

%

 

Prozentsatz

%

||

STATE||CAST(YEAR AS CHAR(4))

Zeichenfolgenverkettung.

||

(

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Öffnende Klammer.

(

)

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Schließende Klammer.

)

>

YEAR > 2000 and YEAR < 2016 and YEAR <> 2013

"Größer als"-Zeichen, gibt Werte an, die größer als der Vergleich sind.

>

<

YEAR > 2000 and YEAR < 2016 and YEAR <> 2013

"Kleiner als"-Zeichen, gibt Werte an, die kleiner als der Vergleich sind.

<

=

 

Gleichheitszeichen, gibt denselben Wert an.

=

>=

 

"Größer/gleich"-Zeichen, gibt Werte an, die größer als oder gleich dem Vergleich sind.

>=

<=

 

"Kleiner/gleich"-Zeichen, gibt Werte an, die kleiner als oder gleich dem Vergleich sind.

<=

<>

YEAR > 2000 and YEAR < 2016 and YEAR <> 2013

Ungleich, gibt Werte an, die größer oder kleiner, aber auf keinen Fall gleich sind.

<>

,

STATE in ('ALABAMA','CALIFORNIA')

Komma, zum Trennen von Elementen in einer Liste.

,

Funktionen

Es gibt vier Typen von Funktionen, die Sie in Ausdrücken verwenden können.

Themen:

Aggregatfunktionen

Aggregatfunktionen führen Rechenoperationen über mehreren Werten aus, um zusammenfassende Ergebnisse zu ermitteln.

In der folgenden Tabelle werden die Aggregationsregeln beschrieben, die für Spalten und Kennzahlspalten verfügbar sind. Die Liste umfasst außerdem Funktionen, die Sie beim Erstellen von berechneten Elementen für Analysen verwenden können.

  • Standard: Wendet die Standardaggregationsregel an, wie sie im semantischen Modell oder vom ursprünglichen Autor der Analyse definiert wurde. Nicht für berechnete Elemente in Analysen verfügbar.

  • Durch Server festgelegt: Wendet die Aggregationsregel an, die von Oracle Analytics festgelegt wurde (z.B. die Regel, die im semantischen Modell definiert ist). Die Aggregation wird in Oracle Analytics für einfache Regeln wie Summe, Min. und Max. ausgeführt. Sie ist für Kennzahlspalten im Bereich "Layout" oder für berechnete Elemente in Analysen nicht verfügbar.

  • Summe – Berechnet die Summe, die durch Addieren aller Werte in der Ergebnismenge ermittelt wird. Diese Funktion kann für Elemente verwendet werden, die numerische Werte haben.

  • Min – Berechnet den Mindestwert (niedrigsten numerischen Wert) der Zeilen in der Ergebnismenge. Diese Funktion kann für Elemente verwendet werden, die numerische Werte haben.

  • Max – Berechnet den Maximalwert (höchsten numerischen Wert) der Zeilen in der Ergebnismenge. Diese Funktion kann für Elemente verwendet werden, die numerische Werte haben.

  • Durchschnitt — Berechnet den Durchschnittswert (Mittelwert) eines Elements in der Ergebnismenge. Diese Funktion kann für Elemente verwendet werden, die numerische Werte haben. Durchschnittswerte bei Tabellen und Pivot-Tabellen werden auf die nächste Ganzzahl gerundet.

  • Erstes – Wählt in der Ergebnismenge das erste Vorkommen des Elements für Kennzahlen aus. Wählt für berechnete Elemente das erste Element entsprechend der Anzeige in "Ausgewählte Liste" aus. Nicht im Dialogfeld "Spaltenformel bearbeiten" verfügbar.

  • Letztes – Wählt in der Ergebnismenge das letzte Vorkommen des Elements für Kennzahlen aus. Wählt für berechnete Elemente das letzte Element entsprechend der Anzeige in "Ausgewählte Liste" aus. Nicht im Dialogfeld "Spaltenformel bearbeiten" verfügbar.

  • Anzahl: Berechnet die Anzahl der Zeilen in der Ergebnismenge, die keinen Nullwert für das Element aufweisen. Das Element ist in der Regel ein Spaltenname. In diesem Fall wird die Anzahl der Zeilen ohne Nullwerte für die betreffende Spalte zurückgegeben.

  • Genaue Anzahl — Ermöglicht die eigenständige Verarbeitung mit der Funktion "Anzahl", was bedeutet, dass jedes einzelne Vorkommen des Elements nur einmal gezählt wird.

  • Keine – Wendet keine Aggregation an. Nicht für berechnete Elemente in Analysen verfügbar.

  • Berichtbasierte Gesamtsumme (wenn zutreffend): Wird diese Option nicht ausgewählt, berechnet Oracle Analytics die Summe anhand der gesamten Ergebnismenge, bevor auf die Kennzahlen Filter angewendet werden. Nicht im Dialogfeld "Spaltenformel bearbeiten" oder für berechnete Elemente in Analysen verfügbar. Nur für Attributspalten verfügbar.

Funktion Beispiel Beschreibung Syntax

AGGREGATE AT

AGGREGATE(sales AT year)

Aggregiert Spalten basierend auf mindestens einer Ebene in der angegebenen Datenmodellhierarchie.

  • measure ist der Name einer Kennzahlenspalte.
  • level ist die Ebene, auf der aggregiert werden soll.

Sie können auch mehrere Ebenen angeben. Sie können keine Ebene aus einer Dimension angeben, die Ebenen enthält, die als Kennzahlenebene für die im ersten Argument angegebene Kennzahl dienen. Beispiel: Sie können die Funktion nicht in der Form AGGREGATE(yearly_sales AT month) schreiben, wenn month aus der gleichen Time-Dimension stammt, die als Kennzahlenebene für yearly_sales dient.

AGGREGATE(measure AT level [, level1, levelN])

AGGREGATE BY AGGREGATE(sales BY month, region) Aggregiert eine Kennzahl basierend auf mindestens einer Dimensionsspalte.
  • measure ist der Name der zu aggregierenden Kennzahlspalte.

  • column ist die Dimensionsspalte, auf der aggregiert werden soll.
Sie können Kennzahlen basierend auf mehr als einer Spalte aggregieren.
AGGREGATE(measure BY column [, column1, columnN])

AVG

Avg(Sales)

Berechnet den Durchschnittswert (Mittelwert) eines numerischen Wertesets.

AVG(expr)

AVGDISTINCT

 

Berechnet den Durchschnitt (Mittel) aller eindeutigen Werte eines Ausdrucks.

AVG(DISTINCT expr)

BIN

BIN(revenue BY productid, year WHERE productid > 2 INTO 4 BINS RETURNING RANGE_LOW)

Klassifiziert einen angegebenen numerischen Ausdruck in eine angegebene Anzahl aus Buckets mit gleicher Breite. Die Funktion kann entweder die Bin-Nummer oder einen der beiden Endpunkte des Bin-Intervalls zurückgeben. Dabei ist numeric_expr die Kennzahl oder das numerische Attribut für das Binning. BY grain_expr1,…, grain_exprN ist eine Liste von Ausdrücken, die die Granularität für die Berechnung von numeric_expr definieren. "BY" ist bei Kennzahlausdrücken erforderlich und bei Attributausdrücken optional. "WHERE" ist ein Filter, der auf "numeric_expr" angewendet wird, bevor die numerischen Werte Bins zugewiesen werden. "INTO number_of_bins BINS" ist die Anzahl der zurückzugebenden Bins. "BETWEEN min_value AND max_value" bezeichnet den Mindest- und den Höchstwert für die Endpunkte der äußeren Bins. "RETURNING NUMBER" gibt an, dass der Rückgabewert die Bin-Nummer sein sollte (1, 2, 3, 4 usw.). Dies ist die standardmäßige Einstellung. "RETURNING RANGE_LOW" gibt den niedrigeren Wert des Bin-Intervalls an. "RETURNING RANGE_HIGH" gibt den höheren Wert des Bin-Intervalls an.

BIN(numeric_expr [BY grain_expr1, ..., grain_exprN] [WHERE condition] INTO number_of_bins BINS [BETWEEN min_value AND max_value] [RETURNING {NUMBER | RANGE_LOW | RANGE_HIGH}])

BottomN

 

Legt den Rang der niedrigsten n Werte des Ausdrucksarguments von 1 bis n fest, wobei 1 den kleinsten numerischen Wert darstellt.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt. "integer" ist eine beliebige positive Ganzzahl. Sie stellt die Anzahl der in der Ergebnismenge angezeigten unteren Ränge dar, wobei 1 der niedrigste Rang ist.

BottomN(expr, integer)

COUNT

COUNT(Products)

Bestimmt die Anzahl von Elementen mit einem Wert ungleich Null.

COUNT(expr)

COUNTDISTINCT

 

Ergänzt die COUNT-Funktion durch Verarbeitung eindeutiger Werte.

expr ist ein beliebiger Ausdruck.

COUNT(DISTINCT expr)

COUNT*

SELECT COUNT(*) FROM Facts

Ermittelt die Zeilenanzahl.

COUNT(*)

First

First(Sales)

Wählt den ersten zurückgegebenen Wert ungleich Null des Ausdrucksarguments. Die First-Funktion wird auf der detailliertesten Ebene ausgeführt, die in der explizit definierten Dimension angegeben wird.

First([NumericExpression)]

Last

Last(Sales)

Wählt den letzten zurückgegebenen Wert ungleich Null des Ausdrucks.

Last([NumericExpression)]

MAVG

 

Berechnet einen gleitenden Durchschnitt (Mittelwert) für die letzten n Datenzeilen in der Ergebnismenge einschließlich der aktuellen Zeile.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt. "integer" ist eine beliebige positive Ganzzahl. Sie stellt den Durchschnitt der letzten n Datenzeilen dar.

MAVG(expr, integer)

MAX

MAX(Revenue)

Berechnet den Höchstwert (höchster numerischer Wert) der Zeilen, die dem numerischen Ausdrucksargument entsprechen.

MAX(expr)

MEDIAN

MEDIAN(Sales)

Berechnet den Mittelwert der Zeilen, die das numerische Ausdrucksargument erfüllen. Bei einer geraden Zeilenanzahl ist der Median der Mittelwert der beiden mittleren Zeilen. Diese Funktion gibt immer ein Double zurück.

MEDIAN(expr)

MIN

MIN(Revenue)

Berechnet den Mindestwert (kleinsten numerischen Wert) der Zeilen, die dem numerischen Ausdrucksargument entsprechen.

MIN(expr)

NTILE

 

Bestimmt die Rangfolge eines Wertes mit Bezug auf einen vom Benutzer angegebenen Bereich. Sie gibt Ganzzahlen zur Darstellung von Rangbereichen zurück. NTILE mit numTiles=100 gibt das sogenannte "Perzentil" zurück (Zahlen von 1 bis 100, wobei 100 dem oberen Ende der Sortierfolge entspricht).

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt. "numTiles" ist eine positive Ganzzahl, die ungleich null ist und der Anzahl der Kacheln entspricht.

NTILE(expr, numTiles)

PERCENTILE

 

Berechnet den Perzentilrang für jeden Wert, der dem numerischen Ausdruck im Argument entspricht. Die Perzentilrangbereiche gehen von 0 (0. Perzentil) bis 1 (100. Perzentil).

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

PERCENTILE(expr)

RANK

RANK(chronological_key, null, year_key_columns)

Berechnet die Rangfolge für jeden Wert, der dem numerischen Ausdruck im Argument entspricht. Der höchsten Zahl wird der Rang 1 zugewiesen, und jedem darauf folgenden Rang wird die nächste Ganzzahl (2, 3, 4,...) zugewiesen. Gleichen Werten wird der gleiche Rang zugewiesen (Beispiel: 1, 1, 1, 4, 5, 5, 7...).

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

RANK(expr)

STDDEV

STDDEV(Sales) STDDEV(DISTINCT Sales)

Gibt die Standardabweichung für einen Satz von Werten zurück. Es wird immer der Datentyp Double zurückgegeben.

STDDEV(expr)

STDDEV_POP

STDDEV_POP(Sales) STDDEV_POP(DISTINCT Sales)

Gibt die Standardabweichung für einen Satz von Werten mithilfe der Berechnungsformel für Füllvarianten und Standardabweichungen zurück.

STDDEV_POP([NumericExpression])

SUM

SUM(Revenue)

Berechnet die Summe durch Addieren aller Werte, die das numerische Ausdrucksargument erfüllen.

SUM(expr)

SUMDISTINCT

 

Berechnet die Summe durch Addieren aller eindeutigen Werte, die das numerische Ausdrucksargument erfüllen.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

SUM(DISTINCT expr)

TOPN

 

Legt den Rang der höchsten n Werte des Ausdrucksarguments von 1 bis n fest, wobei 1 den höchsten numerischen Wert darstellt.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt. "integer" ist eine beliebige positive Ganzzahl. Sie stellt die Anzahl der in der Ergebnismenge angezeigten oberen Ränge dar, wobei 1 der höchste Rang ist.

TOPN(expr, integer)

Analysefunktionen

Mit Analysefunktionen können Sie Daten anhand von Modellen wie Prognose, Trendlinie und Cluster explorieren. Alternativ können Sie Analysefunktionen per Drag-and-Drop in den Arbeitsmappeneditor ziehen.

Sie können Prognosen, Trendlinien und Cluster auch in einer Arbeitsmappe hinzufügen, indem Sie sie in der Registerkarte "Analyse" des Datenbereichs im Arbeitsmappeneditor auswählen. Siehe Statistische Analysefunktionen zu Visualisierungen hinzufügen.

Funktion Beispiel Beschreibung Syntax

CLUSTER

CLUSTER((product, company), (billed_quantity, revenue), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

Erfasst ein Set aus Datensätzen auf der Basis eines oder mehrerer Eingabeausdrücke mithilfe von K-Means oder hierarchischem Clustering in Gruppen.

CLUSTER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

EVALUATE_SCRIPT

EVALUATE_SCRIPT('filerepo://obiee.Outliers.xml', 'isOutlier', 'algorithm=kmeans;id=%1;arg1=%2;arg2=%3;useRandomSeed=False;', customer_number, expected_revenue, customer_age)

Führt ein Python-Skript gemäß script_file_path aus und übergibt Spalten oder literale Ausdrücke als Eingabe. Die Ausgabe der Funktion wird von output_column_name bestimmt.

EVALUATE_SCRIPT(script_file_path, output_column_name, options, [runtime_binded_options])

FORECAST

Beispiel mit Umsatzprognose nach Tag

In diesem Beispiel wird die Umsatzprognose nach Tag ausgewählt.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue" Target,
("A - Sample Sales"."Time"."T00 Calendar Date"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Beispiel mit Umsatzprognose nach Jahr und Quartal

In diesem Beispiel wird die Umsatzprognose nach Jahr und Quartal ausgewählt.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue",
("A - Sample Sales"."Time"."T01 Year" timeYear, "A - Sample Sales"."Time"."T02 Quarter" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Erstellt ein Zeitreihenmodell der angegebenen Kennzahl über die Reihe hinweg mit exponentieller Glättung (ETS) oder einem saisonalen ARIMA-Modell oder ARIMA. Bei dieser Funktion wird eine Prognose für das vom Argument numPeriods angegebene Set aus Perioden ausgegeben.

Lesen Sie auch die folgenden Informationen zu zusätzlichen Optionen für die FORECAST-Funktion.

FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])

Hierbei gilt:

  • measure steht für die zu prognostizierende Kennzahl (z.B. Umsatzdaten).

  • series steht für die zeitliche Granularität, mit der das Prognosemodell erstellt wird. Die Reihe ist eine Liste mit mindestens einer Time-Dimensionsspalte. Wenn Sie series nicht verwenden, wird die zeitliche Granularität anhand der Abfrage bestimmt.

  • output_column_name steht für die gültigen Spaltennamen von forecast, low, high und predictionInterval.

  • options steht für eine Zeichenfolgenliste mit durch Semikolon (;) getrennten Name/Wert-Paaren. Der Wert kann %1 ... %N (in runtime_binded_options angegeben) enthalten.

  • runtime_binded_options steht für eine durch Komma getrennte Liste mit Spalten und Optionen. Werte für diese Spalten und Optionen werden bei der Ausführungszeit der einzelnen Abfragen ausgewertet und aufgelöst.

Lesen Sie auch die folgenden Informationen zu zusätzlichen Optionen für die FORECAST-Funktion.

OUTLIER

OUTLIER((product, company), (billed_quantity, revenue), 'isOutlier', 'algorithm=kmeans')

Klassifiziert einen Datensatz auf der Basis eines oder mehrerer Eingabeausdrücke mithilfe von K-Means, hierarchischem Clustering oder Algorithmen zur multivariaten Ausreißererkennung als Ausreißer.

OUTLIER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

REGR

REGR(revenue, (discount_amount), (product_type, brand), 'fitted', '')

Passt ein lineares Modell an und gibt die angepassten Werte oder das Modell zurück. Mit dieser Funktion können Sie eine lineare Kurve für zwei Kennzahlen anpassen.

REGR(y_axis_measure_expr, (x_axis_expr), (category_expr1, ..., category_exprN), output_column_name, options, [runtime_binded_options])

TRENDLINE

TRENDLINE(revenue, (calendar_year, calendar_quarter, calendar_month) BY (product), 'LINEAR', 'VALUE')

Oracle empfiehlt, dass Sie eine Trendlinie mit der EigenschaftStatistiken hinzufügen anwenden, wenn Sie eine Visualisierung anzeigen. Siehe Visualisierungseigenschaften anpassen.

Passt ein lineares, polynomielles oder exponentielles Modell an und gibt die angepassten Werte oder das Modell zurück. numeric_expr steht für den Y-Wert für den Trend und series (Zeitspalten) für den X-Wert.

TRENDLINE(numeric_expr, ([series]) BY ([partitionBy]), model_type, result_type)

Optionen der FORECAST-Funktion Die folgende Tabelle enthält die verfügbaren Optionen für die FORECAST-Funktion.

Optionsname Werte Beschreibung
numPeriods Ganzzahl Die Anzahl der zu prognostizierenden Perioden.
predictionInterval 0 bis 100, wobei höhere Werte eine höhere Konfidenz angeben Die Konfidenzebene für die Vorhersage.
modelType

ETS (exponentielle Glättung)

SeasonalArima

ARIMA

Das Modell für die Prognose.
useBoxCox

TRUE

FALSE

Bei TRUE wird die Box-Cox-Transformation verwendet.
lambdaValue Nicht anwendbar

Der Box-Cox-Transformationsparameter.

Wird ignoriert, wenn NULL oder wenn useBoxCox FALSE ist.

Andernfalls werden die Daten transformiert, bevor das Modell geschätzt wird.

trendDamp

TRUE

FALSE

Diese Option gilt speziell für das Modell für exponentielle Glättung.

Bei TRUE wird gedämpfter Trend verwendet. Bei FALSE oder NULL wird nicht gedämpfter Trend verwendet.

errorType

Nicht anwendbar

Diese Option gilt speziell für das Modell für exponentielle Glättung.
trendType

N (kein Wert)

A (additiv)

M (multiplikativ)

Z (automatisch ausgewählt)

Diese Option gilt speziell für das Modell für exponentielle Glättung.
seasonType

N (kein Wert)

A (additiv)

M (multiplikativ)

Z (automatisch ausgewählt)

Diese Option gilt speziell für das Modell für exponentielle Glättung.
modelParamIC

ic_auto

ic_aicc

ic_bic

ic_auto (Standard)

Das Informationskriterium, das bei der Modellauswahl verwendet wird.

Konvertierungsfunktionen

Konvertierungsfunktionen konvertieren einen Wert von einer Form in eine andere.

Funktion Beispiel Beschreibung Syntax

CAST

CAST(hiredate AS CHAR(40)) FROM employee

Ändert den Datentyp eines Ausdrucks oder eines Nullliterals in einen anderen Datentyp. Beispiel: Sie können einen customer_name (Datentyp CHAR oder VARCHAR) oder birthdate (ein Datumzeitliteral) konvertieren.

CAST(expr AS type)

IFNULL

IFNULL(Sales, 0)

Prüft, ob ein Ausdruck einen Nullwert ergibt. Ist dies der Fall, wird der festgelegte Wert dem Ausdruck zugewiesen.

IFNULL(expr, value)

INDEXCOL

SELECT INDEXCOL(VALUEOF (NQ_SESSION.GEOGRAPHY_LEVEL), Country, State, City), Revenue FROM Sales

Verwendet externe Informationen, damit die entsprechende Spalte für angemeldeten Benutzer sichtbar ist

INDEXCOL([integer literal], [expr1] [, [expr2], ?-])

NULLIF

SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID" FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name, "Old Job ID";

Vergleicht zwei Ausdrücke. Wenn sie gleich sind, gibt die Funktion NULL zurück. Wenn sie nicht gleich sind, gibt die Funktion den ersten Ausdruck zurück. Sie können die literale NULL nicht für den ersten Ausdruck angeben.

NULLIF([expression], [expression])

To_DateTime

SELECT To_DateTime ('2009-03-0301:01:00', 'yyyy-mm-dd hh:mi:ss') FROM sales

Konvertiert Zeichenfolgenliterale mit dem DateTime-Format in einen DateTime-Datentyp.

To_DateTime([expression], [literal])

VALUEOF

SalesSubjectArea.Customer.Region = VALUEOF("Region Security"."REGION")

Referenziert den Wert einer semantischen Modellvariablen in einem Filter.

Verwenden Sie expr-Variablen als Argumente der VALUEOF-Funktion. Referenzieren Sie statische Variablen eines semantischen Modells nach Name.

VALUEOF(expr)

Datums- und Zeitfunktionen

Mit den Datums- und Uhrzeitfunktionen werden Daten basierend auf DATE und DATETIME geändert.

Funktion Beispiel Beschreibung Syntax

CURRENT_Date

CURRENT_DATE

Gibt das aktuelle Datum zurück.

Das Datum wird durch das System bestimmt, in dem Oracle BI ausgeführt wird.

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

Gibt die aktuelle Zeit mit der angegebenen Genauigkeit zurück; Beispiel: HH:MM:SS.SSS

Wenn kein Argument angegeben wird, gibt die Funktion die Standardstellenzahl zurück.

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

Gibt das aktuelle Datum/den aktuellen Zeitstempel mit der angegebenen Genauigkeit zurück.

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

Gibt den Namen des Wochentags für einen angegebenen Datumsausdruck zurück.

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

Gibt die Zahl für den Tag des Monats eines festgelegten Datumsausdrucks zurück.

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

Gibt eine Zahl zwischen 1 und 7 für den Tag der Woche eines festgelegten Datumsausdrucks zurück. Beispiel: 1 entspricht immer Sonntag, 2 Montag usw. bis Samstag, für den 7 zurückgegeben wird.

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

Gibt eine Zahl zwischen 1 und 366 für den Tag des Jahres eines festgelegten Datumsausdrucks zurück.

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

Gibt eine Zahl zwischen 1 und 92 für den Tag des Quartals eines festgelegten Datumsausdrucks zurück.

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

Gibt eine Zahl zwischen 0 und 23 für die Stunde eines festgelegten Uhrzeitausdrucks zurück. Beispiel: Die Zahl 0 entspricht 24.00 Uhr, und die Zahl 23 entspricht 23.00 Uhr.

HOUR(expr)

MINUTE

MINUTE(Order_Time)

Gibt eine Zahl zwischen 0 und 59 für die Minute eines festgelegten Uhrzeitausdrucks zurück.

MINUTE(expr)

MONTH

MONTH(Order_Time)

Gibt eine Zahl zwischen 1 und 12 für den Monat eines festgelegten Datumsausdrucks zurück.

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

Gibt den Namen des Monats eines festgelegten Datumsausdrucks zurück.

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

Gibt eine Zahl zwischen 1 und 3 für den Monat des Quartals eines festgelegten Datumsausdrucks zurück.

MONTH_OF_QUARTER(expr)

NOW

NOW()

Gibt den aktuellen Zeitstempel zurück. Die Funktion NOW entspricht der Funktion CURRENT_TIMESTAMP.

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

Gibt eine Zahl zwischen 1 und 4 für das Quartal des Jahrs eines festgelegten Datumsausdrucks zurück.

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

Gibt eine Zahl zwischen 0 und 59 für die Sekunden eines festgelegten Uhrzeitausdrucks zurück.

SECOND(expr)

TIMESTAMPADD

TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Order Date")

Fügt einem Zeitstempel eine definierte Anzahl von Intervallen hinzu und gibt einen einzelnen Zeitstempel zurück.

Intervalloptionen: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TIMESTAMPADD(interval, expr, timestamp)

TIMESTAMPDIFF

TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

Gibt die Gesamtanzahl von definierten Intervallen zwischen zwei Zeitstempeln zurück.

Verwendet dieselben Intervalle wie TIMESTAMPADD.

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

Gibt eine Zahl zwischen 1 und 13 für die Woche des Quartals eines festgelegten Datumsausdrucks zurück.

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

Gibt eine Zahl zwischen 1 und 53 für die Woche des Jahres eines festgelegten Datumsausdrucks zurück.

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

Gibt das Jahr des festgelegten Datumsausdrucks zurück.

YEAR(expr)

Datumsextraktionsfunktionen

Diese Funktionen berechnen Zeitstempelwerte oder runden sie auf den nächstgelegenen angegebenen Zeitraum ab, wie Stunde, Tag, Woche, Monat und Quartal.

Sie können die berechneten Zeitstempel verwenden, um Daten mit einer anderen Granularität zu aggregieren. Beispiel: Sie können die Funktion EXTRACTDAY() auf Kundenauftragstermine anwenden, um einen Zeitstempel für Mitternacht am Tag der Bestellungsaufgabe zu berechnen und so Daten nach Tag zu aggregieren.

Funktion Beispiel Beschreibung Syntax

Tag extrahieren

EXTRACTDAY("Order Date")
  • 2/22/1967 3:02:01 AM gibt 2/22/1967 12:00:00 AM zurück.
  • 9/2/2022 10:38:21 AM gibt 9/2/2022 12:00:00 AM zurück.

Gibt einen Zeitstempel für Mitternacht (00:00 Uhr) an dem Tag zurück, an dem der Eingabewert auftritt. Beispiel: Wenn der Eingabezeitstempel 15:02:01 am 22. Februar ist, gibt die Funktion den Zeitstempel für 00:00:00 am 22. Februar zurück.

EXTRACTDAY(expr)

Stunde extrahieren

EXTRACTHOUR("Order Date")
  • 2/22/1967 3:02:01 AM gibt 2/22/1967 3:00:00 AM zurück.
  • 6/17/1999 11:18:30 PM gibt 6/17/1999 11:00:00 PM zurück.

Gibt einen Zeitstempel für den Start der Stunde zurück, in der der Eingabewert auftritt. Beispiel: Wenn der Eingabezeitstempel 23:18:30 ist, gibt die Funktion den Zeitstempel für 23:00:00 zurück.

EXTRACTHOUR (expr)

Stunde des Tages extrahieren

EXTRACTHOUROFDAY("Order Date")
  • 2014/09/24 10:58:00 gibt 2000/01/01 10:00:00 zurück.
  • 2014/08/13 11:10:00 gibt 2000/01/01 11:00:00 zurück

Gibt einen Zeitstempel zurück, bei dem als Stunde die Stunde des Eingabewertes und Standardwerte für Jahr, Monat, Tag, Minuten und Sekunden verwendet werden.

EXTRACTHOUROFDAY(expr)

Millisekunde extrahieren

EXTRACTMILLISECOND("Order Date")
  • 1997/01/07 15:32:02.150 gibt 1997/01/07 15:32:02.150 zurück.
  • 1997/01/07 18:42:01.265 gibt 1997/01/07 18:42:01.265 zurück.
Gibt einen Zeitstempel zurück, der Millisekunden für den Eingabewert enthält. Beispiel: Wenn der Eingabezeitstempel 15:32:02.150 ist, gibt die Funktion den Zeitstempel für 15:32:02.150 zurück.

EXTRACTMILLISECOND(expr)

Minute extrahieren

EXTRACTMINUTE("Order Date")
  • 6/17/1999 11:18:00 PM gibt 6/17/1999 11:18:00 PM zurück.
  • 9/2/2022 10:38:21 AM gibt 9/2/2022 10:38:00 AM zurück.

Gibt einen Zeitstempel für den Start der Minute zurück, in der der Eingabewert auftritt. Beispiel: Wenn der Eingabezeitstempel 11:38:21 ist, gibt die Funktion den Zeitstempel für 11:38:00 zurück.

EXTRACTMINUTE (expr)

Monat extrahieren

EXTRACTMONTH("Order Date")
  • 2/22/1967 3:02:01 AM gibt 2/1/1967 12:00:00 AM zurück.
  • 6/17/1999 11:18:00 PM gibt 6/1/1999 12:00:00 AM zurück.

Gibt einen Zeitstempel für den ersten Tag des Monats zurück, in dem der Eingabewert auftritt. Beispiel: Wenn der Eingabezeitstempel der 22. Februar ist, gibt die Funktion den Zeitstempel für den 1. Februar zurück.

EXTRACTMONTH(expr)

Quartal extrahieren

EXTRACTQUARTER("Order Date")
  • 2/22/1967 3:02:01 AM gibt 1/1/1967 12:00:00 AM zurück, der erste Tag des ersten Geschäftsquartals.
  • 6/17/1999 11:18:00 PM gibt 4/1/1999 12:00:00 AM zurück, der erste Tag des zweiten Geschäftsquartals.

  • 9/2/2022 10:38:21 AM gibt 7/1/2022 12:00:00 AM zurück, der erste Tag des dritten Geschäftsquartals.

    Tipp: Verwenden Sie "QUARTER(expr)", um nur das Ordinalquartal aus dem zurückgegebenen Zeitstempel zu berechnen.

Gibt einen Zeitstempel für den ersten Tag im Quartal zurück, in dem der Eingabewert auftritt. Beispiel: Wenn der Eingabezeitstempel im dritten Geschäftsquartal liegt, gibt die Funktion den Zeitstempel für den 1. Juli zurück.

EXTRACTQUARTER(expr)

Sekunde extrahieren

EXTRACTSECOND("Order Date")
  • 1997/01/07 15:32:02.150 gibt 1997/01/07 15:32:02 zurück.
  • 1997/01/07 20:44:18.163 gibt 1997/01/07 20:44:18 zurück.

Gibt einen Zeitstempel für den Eingabewert zurück. Beispiel: Wenn der Eingabezeitstempel 15:32:02.150 ist, gibt die Funktion den Zeitstempel für 15:32:02 zurück.

EXTRACTSECOND(expr)

Woche extrahieren

EXTRACTWEEK("Order Date")
  • 2014/09/24 10:58:00 gibt 2014/09/21 zurück.

  • 2014/08/13 11:10:00 gibt 2014/08/10 zurück.

Gibt das Datum des ersten Tages der Woche (Sonntag) zurück, in der der Eingabewert auftritt. Beispiel: Wenn der Eingabezeitstempel Mittwoch, der 24. September ist, gibt die Funktion den Zeitstempel für Sonntag, den 21. September zurück.

EXTRACTWEEK(expr)

Jahr extrahieren

EXTRACTYEAR("Order Date")
  • 1967/02/22 03:02:01 gibt 1967/01/01 00:00:00 zurück.
  • 1999/06/17 23:18:00 gibt 1999/01/01 00:00:00 zurück.

Gibt einen Zeitstempel für den 1. Januar des Jahres zurück, in dem der Eingabewert auftritt. Beispiel: Wenn der Eingabezeitstempel im Jahr 1967 liegt, gibt die Funktion den Zeitstempel für den 1. Januar 1967 zurück.

EXTRACTYEAR (expr)

Anzeigefunktionen

Anzeigefunktionen werden für die Ergebnismenge einer Abfrage verwendet.

Funktion Beispiel Beschreibung Syntax

BottomN

BottomN(Sales, 10)

Gibt die n untersten Werte des Ausdrucks zurück, vom niedrigsten zum höchsten Wert.

BottomN([NumericExpression], [integer])

FILTER

FILTER(Sales USING Product = 'widget')

Berechnet den Ausdruck mit dem angegebenen Pre-Aggregationsfilter.

FILTER(measure USING filter_expr)

MAVG

MAVG(Sales, 10)

Berechnet einen gleitenden Durchschnitt (Mittelwert) für die letzten n Datenzeilen in der Ergebnismenge einschließlich der aktuellen Zeile.

MAVG([NumericExpression], [integer])

MSUM

SELECT Month, Revenue, MSUM(Revenue, 3) as 3_MO_SUM FROM Sales

Berechnet eine bewegliche Summe für die letzten n-Datenzeilen einschließlich der aktuellen Zeile.

Die Summe für die erste Zeile ist gleich dem numerischen Ausdruck für die erste Zeile. Für die zweite Zeile wird die aus den ersten zwei Datenzeilen berechnete Summe ausgegeben, und so weiter. Wenn die n -te Zeile erreicht ist, wird die Summe basierend auf den letzten n Datenzeilen berechnet.

MSUM([NumericExpression], [integer])

NTILE

NTILE(Sales, 100)

Bestimmt die Rangfolge eines Wertes mit Bezug auf einen vom Benutzer angegebenen Bereich. Sie gibt Ganzzahlen zur Darstellung von Rangbereichen zurück. Das Beispiel zeigt einen Bereich von 1 bis 100 an, wobei der niedrigste Umsatz = 1 und der höchste Umsatz = 100 ist.

NTILE([NumericExpression], [integer])

PERCENTILE

PERCENTILE(Sales)

Berechnet die prozentuale Rangfolge für jeden Wert, der dem numerischen Ausdruck im Argument entspricht. Die Perzentilrangfolgebereiche gehen von 0 (1. Perzentil) bis 1 (100. Perzentil) einschließlich.

PERCENTILE([NumericExpression])

RANK

RANK(Sales)

Berechnet die Rangfolge für jeden Wert, der dem numerischen Ausdruck im Argument entspricht. Der höchsten Zahl wird der Rang 1 zugewiesen, und jedem darauf folgenden Rang wird die nächste Ganzzahl (2, 3, 4,...) zugewiesen. Gleichen Werten wird der gleiche Rang zugewiesen (Beispiel: 1, 1, 1, 4, 5, 5, 7...).

RANK([NumericExpression])

RCOUNT

SELECT month, profit, RCOUNT(profit) FROM sales WHERE profit > 200

Verwendet ein Set von Datensätzen als Eingabe und ermittelt die Anzahl der bislang gefundenen Datensätze.

RCOUNT([NumericExpression])

RMAX

SELECT month, profit, RMAX(profit) FROM sales

Verwendet ein Set von Datensätzen als Eingabe und zeigt den Höchstwert anhand der bislang gefundenen Datensätze an. Der angegebene Datentyp muss sortierbar sein.

RMAX([NumericExpression])

RMIN

SELECT month, profit, RMIN(profit) FROM sales

Verwendet ein Set von Datensätzen als Eingabe und zeigt den Mindestwert anhand der bislang gefundenen Datensätze an. Der angegebene Datentyp muss sortierbar sein.

RMIN([NumericExpression])

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM FROM sales

Berechnet eine laufende Summe anhand der bisher gefundenen Datensätze.

Die Summe für die erste Zeile ist gleich dem numerischen Ausdruck für die erste Zeile. Für die zweite Zeile wird die aus den ersten zwei Datenzeilen berechnete Summe ausgegeben, und so weiter.

RSUM([NumericExpression])

TOPN

TOPN(Sales, 10)

Gibt die n höchsten Werte des Ausdrucks zurück, vom höchsten zum niedrigsten Wert.

TOPN([NumericExpression], [integer])

Tipps zum Verwenden von Anzeigefunktionen

  • FILTER - Wenn Sie einen Bericht mit einem Themenbereich erstellen, verwenden Sie im Themenbereich definierte Hierarchien, anstatt Hierarchiespalten direkt in einer Berechnung zu filtern. Anders ausgedrückt: Wenn ein Themenbereich eine Hierarchie für Zeit\Geschäftsjahr\Geschäftsquartal enthält, vermeiden Sie:

    filter (<measure> using fiscal_quarter = 'Q4')

    filter (<measure> using fiscal_quarter = 'Q3')

    filter (<measure> using fiscal_year = 'FY24')

Auswertungsfunktionen

Auswertungsfunktionen sind Datenbankfunktionen, die zur Übergabe von Ausdrücken verwendet werden können, um erweiterte Berechnungen abzurufen.

Eingebettete Datenbankfunktionen erfordern möglicherweise mindestens eine Spalte. Die Spalten werden mit %1 ... %N innerhalb der Funktion referenziert. Die eigentlichen Spalten müssen im Anschluss an die Funktion aufgeführt werden.

Funktion Beispiel Beschreibung Syntax

EVALUATE

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employees

Übergibt die angegebene Datenbankfunktion mit optional referenzierten Spalten als Parameter an die Datenbank zur Auswertung.

EVALUATE([string expression], [comma separated expressions])

EVALUATE_AGGR

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', sales.quantity, market.marketkey)

Übergibt die angegebene Datenbankfunktion mit optional referenzierten Spalten als Parameter an die Datenbank zur Auswertung. Diese Funktion ist für Aggregatfunktionen mit einer GROUP BY-Klausel gedacht.

EVALUATE_AGGR('db_agg_function(%1...%N)' [AS datatype] [, column1, columnN])

Mathematische Funktionen

Die in diesem Abschnitt beschrieben en mathematischen Funktionen führen mathematische Vorgänge aus.

Funktion Beispiel Beschreibung Syntax

ABS

ABS(Profit)

Berechnet den absoluten Wert eines numerischen Ausdrucks.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

ABS(expr)

ACOS

ACOS(1)

Berechnet den Arcuskosinus eines numerischen Ausdrucks.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

ACOS(expr)

ASIN

ASIN(1)

Berechnet den Arcussinus eines numerischen Ausdrucks.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

ASIN(expr)

ATAN

ATAN(1)

Berechnet den Arcustangens eines numerischen Ausdrucks.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

ATAN(expr)

ATAN2

ATAN2(1, 2)

Berechnet den Arkustangens von y /x, wobei y der erste numerische Ausdruck und x der zweite numerische Ausdruck ist.

ATAN2(expr1, expr2)

CEILING

CEILING(Profit)

Rundet einen nicht ganzzahligen numerischen Ausdruck auf die nächste Ganzzahl auf. Wenn der numerische Ausdruck eine Ganzzahl ergibt, gibt die Funktion CEILING diese Ganzzahl zurück.

CEILING(expr)

COS

COS(1)

Berechnet den Kosinus eines numerischen Ausdrucks.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

COS(expr)

COT

COT(1)

Berechnet den Cotangens eines numerischen Ausdrucks.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

COT(expr)

DEGREES

DEGREES(1)

Konvertiert einen Ausdruck von Radiant in Grad.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

DEGREES(expr)

EXP

EXP(4)

Erhebt den Wert in die angegebene Potenz. Berechnet e hoch n, wobei e die Basis des natürlichen Logarithmus ist.

EXP(expr)

ExtractBit

Int ExtractBit(1, 5)

Ruft ein Bit an einer bestimmten Stelle in einer Ganzzahl ab. Die Ganzzahl 0 oder 1 wird entsprechend der Position des Bits zurückgegeben.

ExtractBit([Source Number], [Digits])

FLOOR

FLOOR(Profit)

Rundet einen nicht ganzzahligen numerischen Ausdruck auf die nächste Ganzzahl ab. Wenn der numerische Ausdruck eine Ganzzahl ergibt, gibt die Funktion FLOOR diese Ganzzahl zurück.

FLOOR(expr)

LOG

LOG(1)

Berechnet den natürlichen Logarithmus eines Ausdrucks.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

LOG(expr)

LOG10

LOG10(1)

Berechnet den Logarithmus zur Basis 10 eines Ausdrucks.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

LOG10(expr)

MOD

MOD(10, 3)

Dividiert den ersten numerischen Ausdruck durch den zweiten numerischen Ausdruck und gibt den Rest des Quotienten zurück.

MOD(expr1, expr2)

PI

PI()

Gibt den konstanten Wert PI zurück.

PI()

POWER

POWER(Profit, 2)

Erhebt den ersten numerischen Ausdruck in die im zweiten numerischen Ausdruck definierte Potenz.

POWER(expr1, expr2)

RADIANS

RADIANS(30)

Konvertiert einen Ausdruck von Grad in Radiant.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

RADIANS(expr)

RAND

RAND()

Gibt eine pseudozufällige Zahl zwischen 0 und 1 zurück.

RAND()

RANDFromSeed

RAND(2)

Gibt eine pseudozufällige Zahl basierend auf einem Seed-Wert zurück. Für einen bestimmten Seed-Wert wird dieselbe Gruppe aus Zufallszahlen generiert.

RAND(expr)

ROUND

ROUND(2.166000, 2)

Rundet einen numerischen Ausdruck auf n Nachkommastellen.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

integer ist jede positive Ganzzahl, die die Anzahl der Nachkommastellen repräsentiert.

ROUND(expr, integer)

SIGN

SIGN(Profit)

Gibt Folgendes zurück:

  • 1 wenn der numerische Ausdruck eine positive Zahl ergibt

  • -1 wenn der numerische Ausdruck eine negative Zahl ergibt

  • 0, wenn das numerische Ausdrucksargument Null ergibt.

SIGN(expr)

SIN

SIN(1)

Berechnet den Sinus eines numerischen Ausdrucks.

SIN(expr)

SQRT

SQRT(7)

Berechnet die Quadratwurzel des numerischen Ausdrucksarguments. Der numerische Ausdruck muss eine nicht negative Zahl ergeben.

SQRT(expr)

TAN

TAN(1)

Berechnet den Tangens eines numerischen Ausdrucks.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

TAN(expr)

TRUNCATE

TRUNCATE(45.12345, 2)

Schneidet eine Dezimalzahl auf eine bestimmte Anzahl von Stellen nach dem Komma ab.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

integer ist jede positive Ganzzahl, die die zurückzugebende Anzahl von Stellen nach dem Dezimalzeichen repräsentiert.

TRUNCATE(expr, integer)

Gleitende Aggregatfunktionen

Gleitende Aggregatfunktionen führen Vorgänge mit mehreren Werten aus, um Summenergebnisse abzuleiten.

Funktion Beispiel Beschreibung Syntax

MAVG

 

Berechnet einen gleitenden Durchschnitt (Mittelwert) für die letzten n Datenzeilen in der Ergebnismenge einschließlich der aktuellen Zeile.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt. integer ist eine beliebige positive Ganzzahl. Sie stellt den Durchschnitt der letzten n Datenzeilen dar.

MAVG(expr, integer)

MSUM

select month, revenue, MSUM(revenue, 3) as 3_MO_SUM from sales_subject_area

Berechnet eine bewegliche Summe für die letzten n-Datenzeilen einschließlich der aktuellen Zeile.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt. integer ist eine beliebige positive Ganzzahl. Stellt die Summe der letzten n Datenzeilen dar.

MSUM(expr, integer)

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM from sales_subject_area

Berechnet eine laufende Summe anhand der bisher gefundenen Datensätze.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert ergibt.

RSUM(expr)

RCOUNT

select month, profit, RCOUNT(profit) from sales_subject_area where profit > 200

Verwendet ein Set von Datensätzen als Eingabe und ermittelt die Anzahl der bislang gefundenen Datensätze.

expr ist ein Ausdruck für einen beliebigen Datentyp.

RCOUNT(expr)

RMAX

SELECT month, profit,RMAX(profit) from sales_subject_area

Verwendet ein Set von Datensätzen als Eingabe und zeigt den Höchstwert anhand der bislang gefundenen Datensätze an.

expr ist ein Ausdruck für einen beliebigen Datentyp.

RMAX(expr)

RMIN

select month, profit,RMIN(profit) from sales_subject_area

Verwendet ein Set von Datensätzen als Eingabe und zeigt den Mindestwert anhand der bislang gefundenen Datensätze an.

expr ist ein Ausdruck für einen beliebigen Datentyp.

RMIN(expr)

Zeichenfolgenfunktionen

Zeichenfolgenfunktionen führen verschiedene Verarbeitungen mit Zeichen aus. Sie werden für Zeichenfolgen angewendet.

Funktion Beispiel Beschreibung Syntax

ASCII

ASCII('a')

Konvertiert eine Zeichenfolge mit nur einem Zeichen in den entsprechenden ASCII-Code zwischen 0 und 255. Wenn der Zeichenausdruck mehrere Zeichen ergibt, wird der ASCII-Code zurückgegeben, der dem ersten Zeichen im Ausdruck entspricht.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

ASCII(expr)

BIT_LENGTH

BIT_LENGTH('abcdef')

Gibt die Länge einer bestimmten Zeichenfolge in Bit zurück. Jedes Unicode-Zeichen hat eine Länge von 2 Byte (entspricht 16 Bit).

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

BIT_LENGTH(expr)

CHAR

CHAR(35)

Konvertiert einen Zahlenwert zwischen 0 und 255 in den entsprechenden Zeichenwert für den ASCII-Code.

expr ist ein beliebiger Ausdruck, der einen numerischen Wert zwischen 0 und 255 ergibt.

CHAR(expr)

CHAR_LENGTH

CHAR_LENGTH(Customer_Name)

Gibt die Länge einer festgelegten Zeichenfolge in Anzahl von Zeichen zurück. Führende und angehängte Leerzeichen werden nicht in der Länge der Zeichenfolge berücksichtigt.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

CHAR_LENGTH(expr)

CONCAT

SELECT DISTINCT CONCAT ('abc', 'def') FROM employee

Verkettet zwei Zeichenfolgen.

exprs sind Ausdrücke, die durch Komma getrennte Zeichenfolgen ergeben.

Sie müssen RAW-Daten anstelle von formatierten Daten mit CONCAT verwenden.

CONCAT(expr1, expr2)

INSERT

SELECT INSERT('123456', 2, 3, 'abcd') FROM table

Fügt eine festgelegte Zeichenfolge an einer festgelegten Stelle in einer anderen Zeichenfolge ein.

expr1 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Identifiziert die Zielzeichenfolge.

integer1 ist jede positive Ganzzahl, die die Anzahl der Zeichen ab Anfang der Zielzeichenfolge repräsentiert, bei der die zweite Zeichenfolge eingefügt werden soll.

integer2 ist jede positive Ganzzahl, die die Anzahl der Zeichen in der Zielzeichenfolge repräsentiert, die durch die zweite Zeichenfolge ersetzt werden sollen.

expr2 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Identifiziert die Zeichenfolge, die in die Zielzeichenfolge eingefügt werden soll.

INSERT(expr1, integer1, integer2, expr2)

LEFT

SELECT LEFT('123456', 3) FROM table

Gibt eine angegebene Anzahl Zeichen von der linken Seite einer Zeichenfolge zurück.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt

integer ist jede positive Ganzzahl, die die zurückzugebende Anzahl Zeichen von der linken Seite der Zeichenfolge repräsentiert.

LEFT(expr, integer)

LENGTH

LENGTH(Customer_Name)

Gibt die Länge einer festgelegten Zeichenfolge in Anzahl von Zeichen zurück. Die Länge wird ohne angehängte Leerzeichen zurückgegeben.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

LENGTH(expr)

LOCATE

LOCATE('d' 'abcdef')

Gibt die numerische Position einer Zeichenfolge in einer anderen Zeichenfolge zurück. Wenn die Zeichenfolge nicht in der durchsuchten Zeichenfolge gefunden wird, gibt die Funktion den Wert 0 zurück.

expr1 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Identifiziert die Zeichenfolge für die Suche.

expr2 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

Identifiziert die Zeichenfolge für die Suche.

LOCATE(expr1, expr2)

LOCATEN

LOCATEN('d' 'abcdef', 3)

Gibt wie LOCATE die numerische Position einer Zeichenfolge in einer anderen Zeichenfolge zurück. LOCATEN umfasst ein Ganzzahlargument, mit dem Sie die Anfangsposition angeben können, bei der mit der Suche begonnen wird.

expr1 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Identifiziert die Zeichenfolge für die Suche.

expr2 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Identifiziert die Zeichenfolge für die Suche.

integer ist jede positive Ganzzahl (ungleich Null), die die Anfangsposition für die Suche nach der Zeichenfolge repräsentiert.

LOCATEN(expr1, expr2, integer)

LOWER

LOWER(Customer_Name)

Konvertiert eine Zeichenfolge in Kleinbuchstaben.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

LOWER(expr)

OCTET_LENGTH

OCTET_LENGTH('abcdef')

Gibt die Anzahl von Byte einer bestimmten Zeichenfolge zurück.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

OCTET_LENGTH(expr)

POSITION

POSITION('d', 'abcdef')

Gibt die numerische Position von strExpr1 in einem Zeichenausdruck zurück. Wenn strExpr1 nicht gefunden wird, gibt die Funktion 0 zurück.

expr1 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Identifiziert die Zeichenfolge, die in der Zielzeichenfolge gesucht werden soll. Beispiel: "d".

expr2 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Identifiziert die Zielzeichenfolge für die Suche. Beispiel: "abcdef".

POSITION(expr1, expr2)

REPEAT

REPEAT('abc', 4)

Wiederholt einen festgelegten Ausdruck n-Mal.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt

integer ist jede positive Ganzzahl, die die Anzahl der Wiederholungen für die Zeichenfolge repräsentiert.

REPEAT(expr, integer)

REPLACE

REPLACE('abcd1234', '123', 'zz')

Ersetzt ein oder mehrere Zeichen eines festgelegten Zeichenausdrucks durch ein oder mehrere andere Zeichen.

expr1 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Dies ist die Zeichenfolge, in der Zeichen ersetzt werden sollen.

expr2 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Diese zweite Zeichenfolge identifiziert die Zeichen aus der ersten Zeichenfolge, die ersetzt werden sollen.

expr3 ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt. Diese dritte Zeichenfolge gibt die Zeichen an, die in der ersten Zeichenfolge eingefügt werden sollen.

REPLACE(expr1, expr2, expr3)

RIGHT

SELECT RIGHT('123456', 3) FROM table

Gibt eine festgelegte Anzahl von Zeichen von der rechten Seite der Zeichenfolge zurück.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

integer ist jede positive Ganzzahl, die die zurückzugebende Anzahl der Zeichen von der rechten Seite der Zeichenfolge repräsentiert.

RIGHT(expr, integer)

SPACE

SPACE(2)

Fügt Leerzeichen ein.

integer ist jede positive Ganzzahl, die die einzufügende Anzahl der Leerzeichen angibt.

SPACE(expr)

SUBSTRING

SUBSTRING('abcdef' FROM 2)

Erstellt eine neue Zeichenfolge, die nach einer festen Anzahl von Zeichen in der Originalzeichenfolge beginnt.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

startPos ist eine beliebige Ganzzahl, die der Anzahl der Zeichen vom Anfang der linken Seite der Zeichenfolge entspricht, wo das Ergebnis beginnen soll.

SUBSTRING([SourceString] FROM [StartPostition])

SUBSTRINGN

SUBSTRING('abcdef' FROM 2 FOR 3)

Erstellt wie SUBSTRING eine neue Zeichenfolge, die nach einer festen Anzahl von Zeichen in der Originalzeichenfolge beginnt.

SUBSTRINGN enthält ein Ganzzahlargument, mit dem Sie die Länge der neuen Zeichenfolge in Anzahl von Zeichen angeben können.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

startPos ist eine beliebige Ganzzahl, die der Anzahl der Zeichen vom Anfang der linken Seite der Zeichenfolge entspricht, wo das Ergebnis beginnen soll.

SUBSTRING(expr FROM startPos FOR length)

TrimBoth

Trim(BOTH '_' FROM '_abcdef_')

Entfernt festgelegte voran- und nachgestellte Zeichen aus einer Zeichenfolge.

char ist ein beliebiges einzelnes Zeichen. Wenn Sie diese Angabe (und die erforderlichen einfachen Anführungszeichen) auslassen, wird ein Leerzeichen als Standard verwendet.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

TRIM(BOTH char FROM expr)

TRIMLEADING

TRIM(LEADING '_' FROM '_abcdef')

Entfernt festgelegte vorangestellte Zeichen aus einer Zeichenfolge.

char ist ein beliebiges einzelnes Zeichen. Wenn Sie diese Angabe (und die erforderlichen einfachen Anführungszeichen) auslassen, wird ein Leerzeichen als Standard verwendet.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

TRIM(LEADING char FROM expr)

TRIMTRAILING

TRIM(TRAILING '_' FROM 'abcdef_')

Entfernt festgelegte nachfolgende Zeichen aus einer Zeichenfolge.

char ist ein beliebiges einzelnes Zeichen. Wenn Sie diese Angabe (und die erforderlichen einfachen Anführungszeichen) auslassen, wird ein Leerzeichen als Standard verwendet.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

TRIM(TRAILING char FROM expr)

UPPER

UPPER(Customer_Name)

Konvertiert eine Zeichenfolge in Großbuchstaben.

expr ist ein beliebiger Ausdruck, der eine Zeichenfolge ergibt.

UPPER(expr)

Systemfunktionen

Die USER-Systemfunktion gibt Werte zurück, die sich auf die Session beziehen. Beispiel: Der Benutzername, mit dem Sie sich angemeldet haben.

Funktion Beispiel Beschreibung Syntax

DATABASE

 

Gibt den Namen des Themenbereichs zurück, bei dem Sie angemeldet sind.

DATABASE()

USER

 

Gibt den Benutzernamen für das semantische Modell zurück, bei dem Sie angemeldet sind.

USER()

Zeitreihenfunktionen

Mit Zeitreihenfunktionen können Sie Daten basierend auf Time-Dimensionen aggregieren und prognostizieren. Beispiel: Sie könnten die AGO-Funktion verwenden, um den Umsatz vor einem Jahr zu berechnen.

Time-Dimensionselemente müssen sich auf derselben oder einer niedrigeren Ebene der Funktion befinden. Aus diesem Grund muss mindestens eine Spalte, die eindeutig Elemente auf oder unterhalb der gegebenen Ebene identifiziert, in der Abfrage projiziert werden.

Funktion Beispiel Beschreibung Syntax

AGO

SELECT Year_ID, AGO(sales, year, 1)

Berechnet den aggregierten Wert einer Kennzahl in einem angegebenen Zeitraum in der Vergangenheit. Beispiel: Verwenden Sie AGO(Revenue, Year, 1, SHIP_MONTH), um den monatlichen Umsatz vor einem Jahr zu berechnen. Um den vierteljährlichen Umsatz im letzten Quartal zu berechnen, verwenden Sie AGO(Revenue, Quarter, 1).

AGO(MEASURE, TIME_LEVEL, OFFSET)

Hierbei gilt:

  • MEASURE steht für die zu berechnende Kennzahl, z.B. "revenue".
  • TIME_LEVEL steht für das Zeitintervall (muss "Year", "Quarter", "Month", "Week" oder "Day" lauten).
  • OFFSET steht für die Anzahl der zurückliegenden Zeitintervalle, die in die Berechnung einbezogen werden sollen, z.B. 1 für ein Jahr.

PERIODROLLING

SELECT Month_ID, PERIODROLLING (monthly_sales, -1, 1)

Berechnet das Aggregat einer Kennzahl über den Zeitraum, der x Zeiteinheiten ab der aktuellen Zeit beginnt und y Zeiteinheiten danach endet. Beispiel: PERIODROLLING kann zur Berechnung des Umsatzes für einen Zeitraum verwendet werden, der ein Quartal vor dem aktuellen Quartal beginnt und ein Quartal nach dem aktuellen Quartal endet.

PERIODROLLING(measure, x [,y])

Hierbei gilt:

  • MEASURE steht für den Namen einer Kennzahlspalte.
  • X ist eine Ganzzahl, die den Offset vom aktuellen Zeitpunkt angibt.
  • Y ist eine Ganzzahl, die die Anzahl der Zeiteinheiten angibt, über die die Berechnung ausgeführt wird.
  • HIERARCHY ist ein optionales Argument, das den Namen der Hierarchie in einer Time-Dimension angibt, die Sie zur Berechnung des Zeitfensters verwenden möchten (Beispiel: YR, MON, DAY).

TODATE

SELECT Year_ID, Month_ID, TODATE (sales, year)

Berechnet den aggregierten Wert einer Kennzahl vom Beginn eines Zeitraums bis zum letzten Zeitraum, z.B. Jahr-bis-dato-Berechnungen.

Beispiel: Verwenden Sie TODATE(sales, year), um den Jahr-bis-dato-Umsatz zu berechnen.

TODATE(MEASURE, TIME_LEVEL)

Hierbei gilt:

  • MEASURE steht für einen Ausdruck, der mindestens eine Kennzahlspalte referenziert, z.B. "sales".
  • TIME_LEVEL steht für das Zeitintervall (muss "Year", "Quarter", "Month", "Week" oder "Day" lauten).

Konstanten

Sie können Konstanten verwenden, um bestimmte feste Datumsangaben und Uhrzeiten in Arbeitsmappen und Berichte aufzunehmen.

Konstante Beispiel Beschreibung Syntax

DATE

DATE '2026-04-09'

Erstellt ein bestimmtes Datum in einer Berechnung oder einem Ausdruck.

DATE 'yyyy-mm-dd'

TIME

TIME '12:00:00'

Erstellt eine bestimmte Uhrzeit in einer Berechnung oder einem Ausdruck.

TIME 'hh:mi:ss'

TIMESTAMP

TIMESTAMP '2026-04-09 12:00:00'

Erstellt einen bestimmten Zeitstempel in einer Berechnung oder einem Ausdruck.

TIMESTAMP 'yyyy-mm-dd hh:mi:ss'

Typen

Sie können Datentypen wie CHAR, INT und NUMERIC in Ausdrücken verwenden.

Beispiel: Sie verwenden Typen beim Erstellen von CAST-Ausdrücken, die den Datentyp eines Ausdrucks ändern oder die ein Nullliteral in einen anderen Datentyp ändern.