day - Skript- und Diagrammfunktion
Diese Funktion liefert den Tag als ganze Zahl, wenn expression entsprechend dem Standardformat als Datum interpretiert wird.
Die Funktion gibt den Tag des Monats für eine bestimmtes Datum zurück. Sie wird gewöhnlich verwendet, um ein Tagesfeld als Teil einer Kalenderdimension abzuleiten.
Syntax:
day(expression)
Rückgabe Datentyp: ganze Zahl
Beispiel | Ergebnis |
---|---|
day( 1971-10-12 ) |
liefert 12 |
day( 35648 ) | liefert 6, da 35648 = 1997-08-06 |
Beispiel 1 – DateFormat-Datensatz (Skript)
Überblick
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
-
Einen Datensatz mit Datumsangaben mit dem Namen Master_Calendar. Die Systemvariable DateFormat wird auf TT/MM/JJJJ festgelegt.
-
Einen vorangehenden load-Befehl, mit dem ein zusätzliches Feld mit dem Namen day_of_month erstellt wird, unter Verwendung der Funktion day().
-
Ein weiteres Feld mit dem Namen long_date, das die Funktion date() verwendet, um den vollständigen Namen des Monats auszudrücken.
Ladeskript
SET DateFormat='DD/MM/YYYY';
Master_Calendar:
Load
date,
date(date,'dd-MMMM-YYYY') as long_date,
day(date) as day_of_month
Inline
[
date
03/11/2022
03/12/2022
03/13/2022
03/14/2022
03/15/2022
03/16/2022
03/17/2022
03/18/2022
03/19/2022
03/20/2022
03/21/2022
];
Ergebnisse
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
-
date
-
long_date
-
day_of_month
date |
long_date |
day_of_month |
---|---|---|
03/11/2022 |
11-March- 2022 |
11 |
03/12/2022 |
12-March- 2022 |
12 |
03/13/2022 |
13-March- 2022 |
13 |
03/14/2022 |
14-March- 2022 |
14 |
03/15/2022 |
15-March- 2022 |
15 |
03/16/2022 |
16-March- 2022 |
16 |
03/17/2022 |
17-March- 2022 |
17 |
03/18/2022 |
18-March- 2022 |
18 |
03/19/2022 |
19-March- 2022 |
19 |
03/20/2022 |
20-March- 2022 |
20 |
03/21/2022 |
21-March- 2022 |
21 |
Der Tag des Monats wird korrekt von der Funktion day() im Skript ausgewertet.
Beispiel 2 – ANSI-Datum (Skript)
Überblick
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
-
Einen Datensatz mit Datumsangaben mit dem Namen Master_Calendar. Die DateFormat-Systemvariable TT/MM/JJJJ wird verwendet. Die im Datensatz enthaltenen Datumsangaben weisen aber das ANSI-Standarddatumsformat auf.
-
Einen vorangehenden load-Befehl, mit dem ein zusätzliches Feld mit dem Namen day_of_month erstellt wird, unter Verwendung der Funktion date().
-
Ein weiteres Feld mit dem Namen long_date, das die Funktion date() verwendet, um das Datum mit dem vollständigen Namen des Monats auszudrücken.
Ladeskript
SET DateFormat='DD/MM/YYYY';
Master_Calendar:
Load
date,
date(date,'dd-MMMM-YYYY') as long_date,
day(date) as day_of_month
Inline
[
date
2022-03-11
2022-03-12
2022-03-13
2022-03-14
2022-03-15
2022-03-16
2022-03-17
2022-03-18
2022-03-19
2022-03-20
2022-03-21
];
Ergebnisse
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
-
date
-
long_date
-
day_of_month
date |
long_date |
day_of_month |
---|---|---|
03/11/2022 | 11-March- 2022 | 11 |
03/12/2022 | 12-March- 2022 | 12 |
03/13/2022 | 13-March- 2022 | 13 |
03/14/2022 | 14-March- 2022 | 14 |
03/15/2022 | 15-March- 2022 | 15 |
03/16/2022 | 16-March- 2022 | 16 |
03/17/2022 | 17-March- 2022 | 17 |
03/18/2022 | 18-March- 2022 | 18 |
03/19/2022 | 19-March- 2022 | 19 |
03/20/2022 | 20-March- 2022 | 20 |
03/21/2022 | 21-March- 2022 | 21 |
Der Tag des Monats wird korrekt von der Funktion day() im Skript ausgewertet.
Beispiel 3 – Unformatiertes Datum (Skript)
Überblick
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
-
Einen Datensatz mit Datumsangaben mit dem Namen Master_Calendar. Die DateFormat-Systemvariable TT/MM/JJJJ wird verwendet.
-
Einen vorangehenden load-Befehl, mit dem ein zusätzliches Feld mit dem Namen day_of_month erstellt wird, unter Verwendung der Funktion day().
-
Das ursprüngliche unformatierte Datum mit dem Namen unformatted_date.
-
Ein weiteres Feld mit dem Namen long_date, das date() verwendet, wird genutzt, um das numerische Datum in ein formatiertes Datumsfeld zu konvertieren.
Ladeskript
SET DateFormat='DD/MM/YYYY';
Master_Calendar:
Load
unformatted_date,
date(unformatted_date,'dd-MMMM-YYYY') as long_date,
day(date) as day_of_month
Inline
[
unformatted_date
44868
44898
44928
44958
44988
45018
45048
45078
45008
45038
45068
];
Ergebnisse
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
-
unformatted_date
-
long_date
-
day_of_month
unformatted_date |
long_date |
day_of_month |
---|---|---|
44868 |
03-November- 2022 |
3 |
44898 |
03-December- 2022 |
3 |
44928 |
02-January- 2023 |
2 |
44958 |
01-February- 2023 |
1 |
44988 |
03-March- 2023 |
3 |
45008 |
23-March- 2023 |
23 |
45018 |
02-April- 2023 |
2 |
45038 |
22-April- 2023 |
22 |
45048 |
02-May- 2023 |
2 |
45068 |
22-May- 2023 |
22 |
45078 |
01-June- 2023 |
1 |
Der Tag des Monats wird korrekt von der Funktion day() im Skript ausgewertet.
Beispiel 4 – Berechnen des Ablaufmonats (Diagramm)
Überblick
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
-
Ein Datensatz der im März aufgegebenen Bestellungen mit dem Namen Orders. Die Tabelle enthält drei Felder:
-
id
-
order_date
-
amount
-
Ladeskript
Orders:
Load
id,
order_date,
amount
Inline
[
id,order_date,amount
1,03/01/2022,231.24
2,03/02/2022,567.28
3,03/03/2022,364.28
4,03/04/2022,575.76
5,03/05/2022,638.68
6,03/06/2022,785.38
7,03/07/2022,967.46
8,03/08/2022,287.67
9,03/09/2022,764.45
10,03/10/2022,875.43
11,03/11/2022,957.35
];
Ergebnisse
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:order_date.
Erstellen Sie die folgende Kennzahl, um das Lieferdatum zu berechnen: =day(order_date+5).
order_date |
=day(order_date+5) |
---|---|
03/11/2022 |
16 |
03/12/2022 |
17 |
03/13/2022 |
18 |
03/14/2022 |
19 |
03/15/2022 |
20 |
03/16/2022 |
21 |
03/17/2022 |
22 |
03/18/2022 |
23 |
03/19/2022 |
24 |
03/20/2022 |
25 |
03/21/2022 |
26 |
Die Funktion day() berechnet korrekt, dass eine am 11. März aufgegebene Bestellung aufgrund des 5-Tages-Lieferzeitraums am 16. geliefert wird.