day - script- en diagramfunctie
Deze functie retourneert een geheel getal dat de dag representeert als de breuk van expression wordt geïnterpreteerd als een datum volgens de standaardinterpretatie van getallen.
De functie retourneert de dag van de maand voor een specifieke datum. Dit wordt vaak gebruikt om een dagveld af te leiden als onderdeel van een kalenderdimensie.
Syntaxis:
day(expression)
Retourgegevenstypen: geheel getal
Voorbeeld | Resultaat |
---|---|
day( 1971-10-12 ) |
retourneert 12 |
day( 35648 ) | retourneert 6, omdat 35648 = 1997-08-06 |
Voorbeeld 1 - gegevensverzameling DateFormat (script)
Overzicht
Open de Editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
-
Een gegevensverzameling met de naam Master_Calendar. De DateFormat systeemvariabele is ingesteld op DD/MM/JJJJ.
-
Een voorafgaande lading maakt een extra veld met de naam day_of_month met behulp van de day() functie.
-
Een extra veld met de naam long_date met behulp van de date() functie voor het weergeven van de volledige naam van de maand.
Load-script
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
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
-
date
-
long_date
-
day_of_month
date |
long_date |
day_of_month |
---|---|---|
03/11/2022 |
11-March- 2022 |
11 |
03/12/2022 |
11-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 |
De dag van maand wordt juist geëvalueerd door de day() functie in het script.
Voorbeeld 2 – ANSI-datums (script)
Overzicht
Open de Editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
-
Een gegevensverzameling met de naam Master_Calendar. De DateFormat systeemvariabele DD/MM/JJJJ wordt gebruikt. De datums die zijn opgenomen in de gegevensverzameling hebben echter een standaard ANSI-datumnotatie.
-
Een voorafgaande lading maakt een extra veld met de naam day_of_month met behulp van de date()functie.
-
Een extra veld met de naam long_date met behulp van de date() functie voor het weergeven van de datum met de volledige naam van de maand.
Load-script
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
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
-
date
-
long_date
-
day_of_month
date |
long_date |
day_of_month |
---|---|---|
03/11/2022 | 11-March- 2022 | 11 |
03/12/2022 | 11-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 |
De dag van maand wordt juist geëvalueerd door de day() functie in het script.
Voorbeeld 3 – Datums zonder notatie (script)
Overzicht
Open de Editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
-
Een gegevensverzameling met de naam Master_Calendar. De DateFormat systeemvariabele DD/MM/JJJJ wordt gebruikt.
-
Een voorafgaande lading maakt een extra veld met de naam day_of_month met behulp van de day()functie.
-
De originele datum zonder notatie, met de naam unformatted_date.
-
Een extra veld met de naam long_date met de date() wordt gebruikt om de numerieke datum om te zetten in een datumveld met notatie.
Load-script
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
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
-
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 mei 2023 |
22 |
45078 |
01-June- 2023 |
1 |
De dag van maand wordt juist geëvalueerd door de day() functie in het script.
Voorbeeld 4 – Vervalmaand berekenen (diagram)
Overzicht
Open de Editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
-
Een gegevensverzameling met bestellingen die in maart zijn geplaatst, met de naam Orders. De tabel bevat drie velden.
-
id
-
order_date
-
amount
-
Load-script
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
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:order_date.
Om de leverdatum te berekenen, maakt u deze meting: =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 |
De day() functie bepaalt op correcte wijze dat een bestelling die op 11 maart is geplaatst op basis van een leveringsperiode van 5 dagen op 16 maart wordt bezorgd.