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 |
|
Berechnet ein Datum oder ein Monatsende für eine spezifische Anzahl an Monaten vor oder nach einem Datum |
|
Identifiziert den Wochentag oder den Monat eines Datums |
|
Gibt einen numerischen Wert (1-7) zurück, der dem Wochentag des angegebenen Datums entspricht. |
|
Extrahiert Datum oder Zeit von einem Datumzeit-Wert |
|
Extrahiert Tag, Monat, Jahr, Stunde, Minuten oder Sekunden von einem Datumzeit-Wert |
|
Konvertiert serielle Datumzeit- oder Zeichen- bzw. numerische Datumzeit-Werte auf normale Datumzeit-Werte mit einem Datumzeit-Datentyp |
|
Gibt das aktuelle Datum, die Datumzeit oder die Zeit des Betriebssystems zurück |
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 ( ) 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:
- 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.
- 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.
- 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.
- Verstrichene Tage, verstrichene Tage und Zeiten oder verstrichene Zeiten berechnen
- Positive oder negative Anpassungen von Datumswerten, Datumzeiten oder Zeiten vornehmen
- Datumswerte, Datumzeiten oder Zeiten vergleichen
- Datumzeit-Ausdrücke, die Konvertierungsfunktionen verwenden
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. |