Verwenden von Datumzeiten in Ausdrücken

Sie können Ausdrücke verwenden, um Berechnungen mit Datumswerten, Datumzeiten und Zeiten durchzuführen:

  • Verstrichene Tage, verstrichene Tage und Zeiten oder verstrichene Zeiten berechnen

    `20141231` - `20141130` gibt beispielsweise 31 zurück, also die Anzahl der Tage zwischen zwei Datumswerten.

  • Positive oder negative Anpassungen von Datumswerten, Datumzeiten oder Zeiten vornehmen

    `20141231` - 15 gibt beispielsweise 16 Dez 2014 zurück, also das Datum vor 15 Tagen.

  • Datumswerte, Datumzeiten oder Zeiten vergleichen

    `20141231 183000` > `20141231 171500` gibt beispielsweise T (True, wahr) zurück, da die erste Datumzeit aktueller als die zweite Datumzeit ist.

Datums- und Zeitfunktionen

Um Ihnen mit Datumzeit-Daten zu helfen, stellt Analytics eine Reihe von Datum- und Zeitfunktionen zur Verfügung, die eine Reihe hilfreicher Aufgaben erledigen. Sie können diese Funktionen bei der Erstellung von Datumzeit-Ausdrücken verwenden.

Die Datumzeit-Funktionen werden nach Aufgabe gruppiert in der folgenden Tabelle angezeigt. Sie können dieselbe Funktionsliste sehen, wenn Sie die Dropdown-Liste Funktionen im Ausdruck-Generator nach Datum & Zeit filtern.

Durchgeführte Aufgabe

Funktionen

Gibt das Alter (in Tagen) eines Datums im Vergleich zu einem Stichtag oder dem aktuellen Datum zurück

AGE( )

Berechnet ein Datum oder ein Monatsende für eine spezifische Anzahl an Monaten vor oder nach einem Datum

GOMONTH( ), EOMONTH( )

Identifiziert den Wochentag oder den Monat eines Datums

CDOW( ), CMOY( )

Gibt einen numerischen Wert (1-7) zurück, der dem Wochentag des angegebenen Datums entspricht.

DOW()

Extrahiert Datum oder Zeit von einem Datumzeit-Wert

DATE( ), TIME( )

Extrahiert Tag, Monat, Jahr, Stunde, Minuten oder Sekunden von einem Datumzeit-Wert

DAY( ), MONTH( ), YEAR( ), HOUR( ), MINUTE( ), SECOND( )

Konvertiert serielle Datumzeit- oder Zeichen- bzw. numerische Datumzeit-Werte auf normale Datumzeit-Werte mit einem Datumzeit-Datentyp

STOD( ), STODT( ), STOT( ), CTOD( ), CTODT( ), CTOT( )

Gibt das aktuelle Datum, die Datumzeit oder die Zeit des Betriebssystems zurück

TODAY( ), DATETIME( ), NOW( )

Eine Zeitdauer im Unterschied zu einem Zeitpunkt

Wenn Sie mit Datumzeit-Werten in Ausdrücken arbeiten, ist es wichtig, zwischen einer Zeitdauer und einem Zeitpunkt zu unterscheiden, weil Sie je nach Fall unterschiedliche Ausdrucksarten erstellen müssen.

Der Zeitwert 08:30:00 könnte sich auf eine Zeitdauer beziehen (8 Stunden und 30 Minuten) oder auf einen Zeitpunkt (8.30 Uhr am Morgen). Wenn Sie eine Zeit von einer anderen Zeit abziehen, ist das Ergebnis eine verstrichene Zeit, bei der es sich ebenfalls um eine Zeitdauer handelt. Beispiel:

STOT(`T083000` - `T071500`) gibt 01:15:00 zurück (1 Stunde, 15 Minuten, 0 Sekunden)

Wenn Sie einer Zeit eine Zahl hinzuaddieren oder eine Zahl von einer Zeit abziehen, ist das Ergebnis eine positive oder negative Anpassung, durch die erneut ein Zeitpunkt entsteht, der entweder vor oder nach dem ursprünglichen Zeitpunkt liegt. Beispiel:

`T083000` - (1,00000000/24*1,5) gibt 07:00:00 AM zurück

Das Zeitanzeigeformat ( Extras > Optionen > Datum und Zeit) im ersten Beispiel lautet hh:mm:ss und im zweiten Beispiel hh:mm:ss PM. Beide Beispiele beinhalten Berechnungen von seriellen Datumzeiten, die in den folgenden Abschnitten erläutert werden.

Wenn Sie entsprechend ein Datum von einem anderen Datum abziehen, ist das Ergebnis die verstrichene Anzahl an Tagen, bei der es sich um eine Zeitdauer handelt. Beispiel:

`20141231` - `20141130` gibt 31 zurück, also die Anzahl der Tage zwischen den zwei Datumswerten.

Wenn Sie einem Datum eine Zahl hinzuaddieren oder eine Zahl von einem Datum abziehen, ist das Ergebnis ein weiterer Zeitpunkt, der entweder vor oder nach dem ursprünglichen Datum liegt. Beispiel:

`20141231` - 31 gibt 30 Nov 2014 zurück, also das Datum vor 31 Tagen.

Gültige und ungültige Datumzeit-Ausdrücke

Datumzeit-Ausdrücke umfassen eine Reihe möglicher Kombinationen der Datumzeit-Untertypen (Datum, Datumzeit und Zeit) und Operatoren. Nicht alle Kombinationen ergeben gültige Ausdrücke. Sie können beispielsweise ein Datum von einem anderen abziehen, um die Anzahl der verstrichenen Tage herauszufinden. Sie können jedoch nicht zwei Datumswerte addieren, da eine solche Operation unlogisch ist. Es ist jedoch möglich, eine Zahl und ein Datum zu addieren, um ein späteres Datum zu berechnen.

Für Datumzeit-Ausdrücke gelten die folgenden Regeln:

  • Jede Kombination von Datumswerten, Datumzeiten oder Zeiten kann innerhalb einer Subtraktion oder einem Vergleich verwendet werden.

  • Ganze Zahlen, gemischte Zahlen und Bruchzahlen können von einem Datum, einer Datumzeit oder einer Zeit subtrahiert oder dieser hinzuaddiert werden.

  • Datumswerte, Datumzeiten oder Zeiten können gegenseitig nicht addiert werden.

    Falls Sie Zeiten, wie die innerhalb einer Woche gearbeiteten Stunden, addieren müssen, können Sie Analytics-Funktionen verwenden, um die Stunden-, Minuten- und Sekundenanteile von Zeiten als numerische Werte zu extrahieren. Mit diesen numerischen Werten können Sie dann Berechnungen durchführen.

  • Datumswerte, Datumzeiten oder Zeiten können nicht mit Zahlen verglichen werden.

Selbst wenn ein Ausdruck gültig ist, erfüllt er nicht immer einen analytischen Zweck. Analytics wird beispielsweise den Ausdruck Enddatum > Anfangszeit verarbeiten, das Ergebnis ist jedoch stets Wahr/True (T), und der Vergleich eines Datums mit einer Zeit ist logisch nicht sinnvoll.

Die folgende Tabelle fasst die möglichen Kombinationen von Datumzeit-Ausdrücken zusammen und gibt an, ob die jeweilige Kombination gültig oder ungültig ist, d.h. ob sie durch Analytics verarbeitet werden kann.

 

Datumswert

Datumzeit-Wert

Zeitwert

Nummer

Datumswert

Gültig:

Subtraktion

Vergleich

Gültig:

Subtraktion

Vergleich

Gültig:

Subtraktion

Vergleich

Gültig:

Subtraktion

Hinzufügen

Ungültig:

Hinzufügen

Ungültig:

Hinzufügen

Ungültig:

Hinzufügen

Ungültig:

Vergleich

Datumzeit-Wert

Gültig:

Subtraktion

Vergleich

Gültig:

Subtraktion

Vergleich

Gültig:

Subtraktion

Vergleich

Gültig:

Subtraktion

Hinzufügen

Ungültig:

Hinzufügen

Ungültig:

Hinzufügen

Ungültig:

Hinzufügen

Ungültig:

Vergleich

Zeitwert

Gültig:

Subtraktion

Vergleich

Gültig:

Subtraktion

Vergleich

Gültig:

Subtraktion

Vergleich

Gültig:

Subtraktion

Hinzufügen

Ungültig:

Hinzufügen

Ungültig:

Hinzufügen

Ungültig:

Hinzufügen

Ungültig:

Vergleich

Durch Datumzeit-Ausdrücke zurückgegebene Datentypen

Welcher Datentyp von einem Datumzeit-Ausdruck zurückgegeben wird, hängt von den innerhalb des Ausdrucks verwendeten Werten und Operatoren ab:

Datumzeit-Ausdruck

Datentyp des Ergebnisses

Subtraktion (nur Datumzeit-Werte)

jede Kombination von Datumswerten, Datumzeiten oder Zeiten innerhalb einer Subtraktion

Numerisch

ein serielles Datum, eine serielle Datumzeit oder eine serielle Zeit

Weitere Informationen finden Sie unter Serielle Datumzeiten.

Addition oder Subtraktion (Datumzeit-Werte und Zahlen)

ganze Zahlen, gemischte Zahlen und Bruchzahlen, die von einem Datum, einer Datumzeit oder einer Zeit subtrahiert werden oder diesem/dieser hinzuaddiert werden

Datumzeit

ein Datum-, Datumzeit- oder Zeit-Untertyp des Datumzeit-Datentyps

Vergleich (nur Datumzeit-Werte)

jede Kombination von Datumswerten, Datumzeiten oder Zeiten innerhalb eines Vergleichs

Logisch

T oder F (wahr oder falsch)

Format von Datumzeit-Literalen

  • Datumzeit-Werte Sie können eine beliebige Kombination der in der folgenden Tabelle aufgelisteten Datums-, Trennzeichen- und Zeitformate verwenden.

    Das Datum muss der Zeit vorangestellt und durch ein Trennzeichen getrennt werden. Gültige Trennzeichen sind einzelne Leerzeichen, der Buchstabe ‘t’ oder der Buchstabe ‘T’.

  • Zeitwerte Zeiten müssen im 24-Stundenformat angegeben werden.

    Verschiebungen zur koordinierten Weltzeit (UTC) muss ein Plus- (+) oder Minuszeichen (-) vorangehen.

    Beispielformate

    Beispiel Literalwert

    JJJJMMTT

    `20141231`

    JJMMTT

    `141231`

    JJJJMMTT hhmmss

    `20141231 235959`

    JJMMTTthhmm

    `141231t2359`

    JJJJMMTTThh

    `20141231T23`

    JJJJMMTT hhmmss+/-hhmm

    (UTC-Offset)

    `20141231 235959-0500`

    JJMMTT hhmm+/-hh

    (UTC-Offset)

    `141231 2359+01`

    thhmmss

    `t235959`

    Thhmm

    `T2359`

    Hinweis

    Verwenden Sie bei Daten mit einer UTC-Anpassung in Zeitformaten „hh“ nicht alleine. Vermeiden Sie zum Beispiel: hh+hhmm. Die Ergebnisse können sonst unzuverlässig sein.

     

Funktionen zur Addition von Zeiten verwenden

Sie können Zeitwerte in Analytics nicht direkt addieren. Es ist jedoch möglich, mit Analytics-Funktionen Stunden, Minuten und Sekunden von Zeiten als numerische Werte zu extrahieren und mit diesen numerischen Werten Berechnungen durchzuführen. Das folgende Beispiel mit Zeitabrechnungsdaten veranschaulicht diesen Ansatz für Stunden und Minuten.

Zur Durchführung der Berechnungen sind mehrere Kalkulationsfelder notwendig:

Name des Kalkulationsfelds

Ausdruck

Beschreibung

verstrichene_Zeit

STOT(Endzeit - Startzeit)

Eine Subtraktion, welche die gearbeitete Stundenanzahl des Tages berechnet. Die STOT( )-Funktion konvertiert die Ergebnisse serieller Zeitwerte in normale Zeitwerte.

Stunden

HOUR(verstrichene_Zeit)

Die Anzahl der Stunden wird als numerischer Wert aus dem Wert verstrichene_Zeit extrahiert.

Minuten

MINUTE(verstrichene_Zeit)

Die Anzahl der Minuten wird als numerischer Wert aus dem Wert verstrichene_Zeit extrahiert

(nur zur Veranschaulichung, wird für die Berechnung nicht benötigt).

Stundenbruchteile

MINUTE(verstrichene_Zeit)/60,000

Der Minutenanteil wird als numerischer Wert von dem Wert verstrichene_Zeit extrahiert und als dezimaler Bruchteil von 60 Minuten berechnet.

Stunden+Stundenbruchteile

Stunden + Stundenbruchteile

Die Summe der numerischen Stunden und Stundenbruchteile.

Als letzten Schritt können Sie die Felder Stunden+Stundenbruchteile addieren, um die Gesamtstunden der Woche zu berechnen:

Positive oder negative Anpassungen von Datumswerten, Datumzeiten oder Zeiten vornehmen

Sie können positive oder negative Anpassungen von Datums-, Datumzeit- oder Zeitwerten vornehmen, indem Sie beispielsweise 15 Tage addieren oder subtrahieren bzw. drei Stunden addieren oder subtrahieren. Es ist problemlos möglich, ein Datum positiv oder negativ anzupassen. Sie addieren oder subtrahieren einfach die gewünschte Tagesanzahl, um ein Datum auf Basis eines anderen Datums zu erhalten:

  • `20141231` + 15 gibt 15 Jan 2015 zurück
  • `20141231` - 15 gibt 16 Dez 2014 zurück

Eine positive oder negative Anpassung eines Datumzeit- oder Zeitwerts ist etwas komplizierter. Sie können Zeitwerte nicht direkt addieren und einen Zeitwert auch keinem Datumzeit-Wert hinzufügen. Falls Sie beispielsweise versuchen, eine positive Anpassung um 3 Stunden mit einem der folgenden Ausdrücke vorzunehmen, werden Sie den Fehler “Unterschiedliche Ausdrucksarten” erhalten:

  • `t120000` + `t030000`
  • `20141231 235959` + `t030000`

Einen gültigen Ausdruck erhalten Sie, indem Sie die serielle Zeit addieren, die drei Stunden entspricht (0,125). Ein manuelles Erstellen solcher Ausdrücke kann jedoch umständlich sein, weil Sie dann die entsprechende serielle Zeit kennen müssen:

  • `t120000` + 0,125 gibt 15:00:00 zurück
  • `20141231 235959` + 0,125 gibt 01 Jan 2015 02:59:59 zurück

Es ist einfacher, eine negative Anpassung eines Datumzeit- oder Zeitwerts vorzunehmen. Das Ergebnis ist jedoch dann ein serieller Datumzeit- oder Zeitwert, der auf einen normalen Datumzeit- oder Zeitwert konvertiert werden muss, um ein lesbares Format aufzuweisen:

  • `t120000` - `t030000` gibt 0,37500000000000 zurück
  • STOT(`t120000` - `t030000`) gibt 09:00:00 zurück

Mit der folgenden Methode können Sie Datumzeit- oder Zeitwerte einfacher positiv bzw. negativ anpassen:

  1. Erstellen Sie ein Kalkulationsfeld, das die serielle Zeit der zu addierenden oder subtrahierenden Zeit berechnet.

    Beispiel: (1,00000000/24*2,5) ergibt die serielle Zeit, die 2,5 Stunden entspricht (0,10416668). Den Wert „1“ müssen Sie mit mehreren Nullen als Dezimalstellen angeben, um sicherzustellen, dass Analytics das Ergebnis nicht rundet. Sie können den Multiplikationsfaktor anpassen, um die jeweils gewünschten Stunden zu erhalten: (1,00000000/24*1), (1,00000000/24*8), (1,00000000/24*10,25) usw.

  2. Addieren oder subtrahieren Sie in demselben Kalkulationsfeld die berechnete serielle Zeit von dem Quelldatumzeit-/-zeitwert.

    Beispiel: <Zeit- oder Datumzeit-Feld> + (1,00000000/24*2,5) = Feldwert +2,5 Stunden.

  3. Wenn Sie sowohl Tage als auch Zeiten zu einem Datumzeit-Wert addieren bzw. von ihm subtrahieren möchten, fügen Sie der Berechnung eine entsprechende Anzahl von Tagen hinzu.

    Beispiel: <Datumzeit-Feld> + 2 + (1,00000000/24*2,5) = Feldwert + 2 Tage und 2,5 Stunden.

Beispiele für Datumzeit-Ausdrücke

Die Tabelle unten zeigt Beispiele gültiger Datumzeit-Ausdrücke.

Hinweis

In einigen Beispielen werden die Ergebnisse als serielle Datumzeit zurückgegeben. Hierbei handelt es sich um einen Datum-, Datumzeit- oder Zeitwert, der als Ganzzahl oder dezimaler Bruchteil von 24 Stunden dargestellt ist.

Sie können die Funktionen STOD( ), STODT( ) und STOT( ) nutzen, um serielle Datumzeit-Ergebnisse in normale Datumzeit-Werte zu konvertieren. Weitere Informationen finden Sie unter Serielle Datumzeiten.

Verstrichene Tage, verstrichene Tage und Zeiten oder verstrichene Zeiten berechnen

Ausdruck

Ergebnis

`20141231` - `20141130`

31

die verstrichenen Tage zwischen zwei Datumswerten

Enddatum - Startdatum

die verstrichenen Tage zwischen den Werten Enddatum und Startdatum

`20141231 235959` - `20141130 114530`

31,51005787037037

verstrichene Tage und Zeit zwischen zwei Datumzeiten, ausgedrückt als serielle Datumzeit

STRING(INT(`20141231 235959` - `20141130 114530`);5) + " " + TIME(STOT(MOD(`20141231 235959` - `20141130 114530`; 1)))

31 12:14:29

verstrichene Tage und Zeit zwischen zwei Datumzeiten im obigen Beispiel, ausgedrückt als Tage, Stunden, Minuten und Sekunden

Es wird von einem aktuellen Analytics-Zeitanzeigeformat von hh:mm:ss ausgegangen.

End_Datumzeit - Start_Datumzeit

verstrichene Tage und Zeit zwischen den Werten „End_Datumzeit“ und „Start_Datumzeit“, ausgedrückt als serielle Datumzeit

STRING(INT(End_Datumzeit - Start_Datumzeit); 5) + " " + TIME(STOT(MOD(End_Datumzeit - Start_Datumzeit; 1)))

verstrichene Tage und Zeit zwischen den Werten „End_Datumzeit“ und „Start_Datumzeit“, ausgedrückt als Tage, Stunden, Minuten und Sekunden

`T235959` - `T114530`

0,51005787037037

verstrichene Zeit zwischen zwei Zeiten, ausgedrückt als serielle Zeit

STOT(0,51005787037037)

12:14:29

Die serielle Zeit aus dem obigen Beispiel, konvertiert in einen Zeitwert unter Nutzung des aktuellen Zeitanzeigeformats von Analytics

STOT(`T235959` - `T114530`)

12:14:29

Zwischen den beiden Zeiten verstrichene Zeit, die unter Nutzung des aktuellen Zeitanzeigeformats von Analytics als eine Zeit ausgedrückt wird

Endzeit - Startzeit

verstrichene Zeit zwischen den Werten Endzeit und Startzeit, ausgedrückt als serielle Zeit

Positive oder negative Anpassungen von Datumswerten, Datumzeiten oder Zeiten vornehmen

Ausdruck

Ergebnis

Fälligkeitsdatum + 15

der um 15 Tage erhöhte Wert des Feldes Fälligkeitsdatum

`20141231` - 15

16 Dez 2014

das um 15 Tage verringerte Datum. Geht von diesem aktuellen Analytics-Datumanzeigeformat aus: TT MMM JJJJ

`20141231 235959` + (1,00000000/24*1,5)

01 Jan 2015 01:29:59

die Datumzeit zuzüglich 1,5 Stunden

`20141231 235959` - (1,00000000/24*1,5)

31 Dez 2014 22:29:59

die Datumzeit abzüglich 1,5 Stunden

STODT(`20141231 235959` - `T013000`)

31 Dez 2014 22:29:59

die Datumzeit abzüglich 1,5 Stunden

`20141231 235959` + 2 + (1,00000000/24*1,5)

03 Jan 2015 01:29:59

die Datumzeit zuzüglich zwei Tagen und 1,5 Stunden

`20141231 235959` - 2 - (1,00000000/24*1,5)

29 Dez 2014 22:29:59

die Datumzeit abzüglich 2 Tagen und 1,5 Stunden

`t235959` + (1,00000000/24*1,5)

01:29:59

die Zeit zuzüglich 1,5 Stunden

`T173000` - (1,00000000/24*1,5)

16:00:00

die Zeit abzüglich 1,5 Stunden

STOT(`T173000` - `T013000`)

16:00:00

die Zeit abzüglich 1,5 Stunden

STOT(STOT(`T173000` - `T013000`) - `T010000`)

15:00:00

die Zeit abzüglich 1,5 Stunden, abzüglich einer weiteren Stunde

Datumswerte, Datumzeiten oder Zeiten vergleichen

Ausdruck

Ergebnis

`20141231` > `20141230`

T (Wahr)

Fälligkeitsdatum <= `20141231`

alle Werte des Felds „Fälligkeitsdatum“ bis zum 31. Dezember 2014

Zahlungsdatum > Fälligkeitsdatum

alle Werte des Felds „Fälligkeitsdatum“, die überfällig sind

CTOD(DATE(Zahlungs_Zeitstempel; "YYYYMMDD"); "YYYYMMDD") > Fälligkeitsdatum

alle Werte des Felds „Zahlungs_Zeitstempel“, die überfällig sind

Um Datumzeit- und Datumswerte zu vergleichen, wird das Datum erst als Zeichenwert aus dem Datumzeit-Wert innerhalb des Felds Zahlungs_Zeitstempel extrahiert und dann erneut auf einen Datumswert konvertiert, um diesen mit dem Fälligkeitsdatum vergleichen zu können.

Um sicherzustellen, dass die Datumformate übereinstimmen, werden innerhalb des Formatparameters von DATE( ) (das Ausgabeformat) und des Formatparameters von CTOD( ) (das Eingabeformat) identische Formate festgelegt.

Anmeldezeit > `t100000`

alle Werte des Felds Anmeldezeit nach 10:00:00

Datumzeit-Ausdrücke, die Konvertierungsfunktionen verwenden

Ausdruck

Ergebnis

STOT(CTOT("t120000") - CTOT("t090000") )

03:00:00

die verstrichene Zeit zwischen zwei zeichenbasierten Zeitwerten

Die zeichenbasierten Zeitwerte werden zuerst in normale Zeitwerte konvertiert, sodass sie in einer Subtraktion verwendet werden können. Die numerische serielle Zeit, die sich aus der Subtraktion ergibt, wird dann in einen normalen Zeitwert konvertiert.

CTOT(TIME(`20141231 125959`)) < `T235959`

T (Wahr)

Die Zeit wird von dem Datumzeit-Wert zuerst als Zeichenwert extrahiert und dann in einen Zeitwert zurückkonvertiert, um einen Vergleich mit 23:59:59 zu ermöglichen.

Hilfe für Analytics 14.1