Datums- und Zeitfunktionen

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

Funktion Beispiel Beschreibung Syntax
CONVERT_TZ CONVERT_TZ(Order Date, 'UTC', 'America/Denver') Konvertiert einen Datetime-Wert expr von der durch Old time zone angegebenen Zeitzone in die durch New time zone angegebene Zeitzone und gibt den daraus resultierenden Wert zurück. CONVERT_TZ(expr, 'Old time zone', 'New time zone')

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)

Tipps zum Verwenden von Datumsfunktionen

Befolgen Sie diese Tipps, um die besten Ergebnisse mit Datumsfunktionen in Ihren Arbeitsmappen zu erhalten. Damit können Sie Geschäftsperioden berechnen, Zeichenfolgen in Datumsangaben konvertieren, Datum und Uhrzeit in einer bestimmten Zeitzone anzeigen und Differenzen im Zeitablauf berechnen.

Geschäftsjahr, -quartal und -monat berechnen:

Themenbereiche weisen in der Regel eine Time-Dimension auf, sodass Sie die vorkonfigurierten Perioden wie Geschäftsquartal, Geschäftsmonat und Geschäftswoche verwenden können. Wenn Sie nur über ein Datumsfeld verfügen, können Sie diese Perioden anhand von Datumsfunktionen selbst berechnen.

Mit diesem Beispiel wird das Geschäftsquartal berechnet:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||'Q'||cast(QUARTER(TIMESTAMPADD(SQL_TSI_MONTH, 7,<same date field>)) as char)

Mit diesem Beispiel werden Geschäftsjahr und -monat berechnet:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)

Hinweise:

  • Mit || verketten Sie Werte.
  • Mit cast (xxx(date) as char) extrahieren Sie einen Teil eines Datumsfeldes.
  • Mit TIMESTAMPADD addieren (oder subtrahieren) Sie Perioden mit bzw. von einem Datum. In diesem Beispiel wird der Parameterwert SQL_TSI_MONTH verwendet, um Monate hinzuzufügen.

Die oben genannten Berechnungen eignen sich gut für Tabellen. Bei der Verwendung in Filtern kann der Abstand zwischen den zurückgegebenen Werten allerdings ungewöhnlich aussehen. Verwenden Sie in diesem Fall eine übersichtlichere, aber komplexere Berechnung basierend auf diesen Beispielen:

'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-Q'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<same date field>,7)),'Q')
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-'||evaluate ('to_char(%1,%2)'as char,<same date field>,'MON')

Zeichenfolge in ein Datum konvertieren:

Oracle Analytics führt das Profiling für Ihre Daten aus und stellt Anreicherungsempfehlungen für das Extrahieren und Konvertieren von Datumswerten bereit. Wenn Sie eine Zeichenfolge selbst in ein Datum konvertieren müssen, halten Sie sich an diese Tipps.
  • Navigieren Sie im Arbeitsmappendesigner im Datenbereich zur gewünschten Spalte, klicken Sie mit der rechten Maustaste darauf, und wählen Sie In Datum konvertieren aus. Konfigurieren Sie das Datum, und klicken Sie auf Schritt hinzufügen.

  • Navigieren Sie im Arbeitsmappendesigner im Datenbereich zur gewünschten Spalte, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Bearbeiten aus. Konfigurieren Sie das Datum, und klicken Sie auf Schritt hinzufügen.

    Fügen Sie im Textfeld, in dem der Name der Spalte blau dargestellt ist, To_DateTime ein (vor dem Spaltennamen), und fügen Sie das gewünschte Datumsformat nach dem Spaltennamen hinzu. Klicken Sie anschließend auf Schritt hinzufügen.
    Beschreibung von GUID-ADBD035B-A62A-4DED-8768-553365BAABFE-default.png folgt
    .png

    Wenn Sie die Option "Bearbeiten" verwenden, um die Datumskonvertierungsfunktion zu erstellen, können Sie auch Allow_Variable_Digits nutzen, um Spaltenwerte mit ein- oder zweistelligen Zahlen zu verarbeiten, und Null_On_Error-Argumente, um Zeilen zu verwerfen, die nicht dem erforderlichen Muster entsprechen. Alternative Möglichkeiten zur Verarbeitung von Daten, die nicht dem erforderlichen Muster entsprechen, finden Sie unter REPLACE und CAST.

    Verwenden Sie als Alternative zu To_DateTime() CAST(), um den Datentyp eines Wertes zu ändern. Beispiel: CAST(SalesDate AS DATE).

    Verwenden Sie darüber hinaus die Option Ersetzen. Navigieren Sie im Arbeitsmappendesigner im Datenbereich zur gewünschten Spalte, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Ersetzen aus. Konfigurieren Sie den gewünschten Ersetzungstyp, und klicken Sie auf Schritt hinzufügen.

Datums- und Uhrzeitfeld in einer bestimmten Zeitzone anzeigen:

Verwenden Sie die neue NEW_TIME-Funktion in der Datenbank zusammen mit EVALUATE. Beispiel:

evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')

Stellen Sie sicher, dass das Datumsfeld die Zeitkomponente enthält.

Differenz im Zeitablauf berechnen:

Um die Differenz in Zahlen und Prozentsätzen zwischen dem aktuellen Zeitpunkt und dem Vortag anzuzeigen, erstellen Sie Berechnungen basierend auf diesen Beispielen:
  • Kennzahl bis Vortag berechnen: filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • Differenz berechnen: Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • Differenz in Prozent berechnen: 1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure display as percentage

Hinweise:

  • Diese Beispiele verwenden SQL_TSI_DAY, Sie können aber auch WEEK und MONTH für den Wochen- bzw. den Monatsvergleich nutzen.
  • Diese Beispiele eignen sich für einen normalen oder natürlichen Kalender. Wenn Sie Geschäftsmonate und -quartale benötigen, verwenden Sie Repository-Variablen anstelle von TIMESTAMPADD in den Berechnungen. Kombinieren Sie diese Funktion alternativ mit dem Tipp Geschäftsjahr, -quartal und -monat berechnen.
  • Einige Themenbereiche enthalten vorberechnete Kennzahlen für vorherige Werte, wie PY (Vorjahr) uns PQ (Vorquartal), mit denen Sie Differenzen im Zeitablauf berechnen können.
  • Alternativ dazu können Sie die TIME SERIES-Funktionen verwenden: AGO, PERIODROLLING und TODATE. Siehe Zeitreihenfunktionen.