Funktionen

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

Themen:

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 Analysen 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])

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.

Verwenden Sie CAST, um zu einem Date-Datentyp zu wechseln.

Verwenden Sie nicht TODATE.

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)

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)

Tipps zur Verwendung von Datumsdimensionen in Themenbereichen

Befolgen Sie diese Tipps, um mit Datumsdimensionen in Themenbereichsdaten bei Berechnungen optimale Ergebnisse zu erzielen.

Themenbereichsdatum zu einer Berechnung hinzufügen

Wenn Sie ein Datum aus einem Themenbereich direkt in eine Berechnung ziehen und als Zeichenfolge oder Ganzzahl verarbeiten, wird ein Fehler angezeigt. Das liegt daran, dass der zugrunde liegende Datumswert ein Zeitstempel ist.

Verwenden Sie stattdessen zur Interpretation des Datums eine der Datumsextraktionsfunktionen.

Beispiel: Sie haben die folgenden Themenbereichsdaten.
Beschreibung von GUID-39C55B3A-A055-45D3-9904-948680247C08-default.png folgt
.png

Um Monate aus diesen Themenbereichsdaten zu extrahieren, verwenden Sie die Funktion ExtractMonthOfYear:

case when monthname(ExtractMonthOfYear("Date")) in ('Jan' ,'Feb', 'Mar') 
THEN 'Q1' 
ELSE 'Rest of the year' END

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)

Räumliche Funktionen

Mit räumlichen Funktionen können Sie geografische Analysen beim Modellieren von Daten ausführen. Beispiel: Sie können die Entfernung zwischen zwei geografischen Flächen (Formen oder Polygone) berechnen.

Hinweis:

Sie können diese räumlichen Funktionen nicht in benutzerdefinierten Berechnungen für Visualisierungsarbeitsmappen verwenden.
Funktion Beispiel Beschreibung Syntax
GeometryArea

GeometryArea(Shape)

Berechnet die Fläche einer Form.

GeometryArea(Shape)

GeometryDistance

GeometryDistance(TRIP_START, TRIP_END)

Berechnet die Entfernung zwischen zwei Formen.

GeometryDistance(Shape 1, Shape 2)

GeometryLength

GeometryLength(Shape)

Berechnet den Umfang einer Form.

GeometryLength(Shape)

GeometryRelate

GeometryRelate(TRIP_START, TRIP_END)

Bestimmt, ob eine Form sich innerhalb einer anderen Form befindet. Gibt TRUE oder FALSE als Zeichenfolge zurück (varchar).

GeometryRelate(Shape 1, Shape 2)

GeometryWithinDistance

GeometryWithinDistance(TRIP_START, TRIP_END, 500)

Bestimmt, ob zwei Formen sich innerhalb einer angegebenen Entfernung zueinander befinden. Gibt TRUE oder FALSE als Zeichenfolge zurück (varchar).

GeometryWithinDistance(Shape1, Shape2, DistanceInFloat)

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)

Tipps zum Verwenden von Zeichenfolgenfunktionen

Befolgen Sie diese Tipps, um mit Zeichenfolgenfunktionen in Ihren Arbeitsmappen optimale Ergebnisse zu erzielen.

Mehrere Werte verketten:

Mit LISTAGG können Sie mehrere Werte in einer Zelle oder einer Zeile verketten.

listagg(<column to concatenate> by <grouping column>)

Fügen Sie on overflow truncate hinzu, wenn die daraus entstehende Zeichenfolge zu lang ist, und distinct, wenn die Werte nicht eindeutig sind.

Beispiel:

listagg(distinct City_ID by STATE on overflow truncate)

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).