month - script- en diagramfunctie
Deze functie retourneert een duale waarde: een maandnaam zoals vastgelegd in de omgevingsvariabele MonthNames, en een geheel getal tussen 1-12. De maand wordt berekend volgens de datuminterpretatie van de uitdrukking, in overeenstemming met de standaardinterpretatie van getallen.
De functie retourneert de naam van de maand in de indeling van de systeemvariabele MonthName voor een specifieke datum. Dit wordt vaak gebruikt om een dagveld te maken als een dimensie in een hoofdagenda.
Syntaxis:
month(expression)
Retourgegevenstypen: geheel getal
Voorbeeld | Resultaat |
---|---|
month( 2012-10-12 ) |
Retourneert Okt |
month( 35648 ) | retourneert Aug, 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 month_name met behulp van de month() functie.
-
Een extra veld met de naam long_date met behulp van de date() functie voor het weergeven van de volledige datum.
Load-script
SET DateFormat='DD/MM/YYYY';
Master_Calendar:
Load
date,
date(date,'dd-MMMM-YYYY') as long_date,
month(date) as month_name
Inline
[
date
03/01/2022
03/02/2022
03/03/2022
03/04/2022
03/05/2022
03/06/2022
03/07/2022
03/08/2022
03/09/2022
03/10/2022
03/11/2022
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
-
date
-
long_date
-
month_name
date |
long_date |
month_name |
---|---|---|
03/01/2022 |
03-January- 2022 |
Jan |
03/02/2022 |
03-February- 2022 |
Feb |
03/03/2022 |
03-March- 2022 |
Mar |
03/04/2022 |
03-April- 2022 |
Apr |
03/05/2022 |
03-May- 2022 |
May |
03/06/2022 |
03-June- 2022 |
Jun |
03/07/2022 |
03-July- 2022 |
Jul |
03/08/2022 |
03-August- 2022 |
Aug |
03/09/2022 |
03-September- 2022 |
Sep |
03/10/2022 |
03-October- 2022 |
Okt |
03/11/2022 |
03-November- 2022 |
Nov |
De naam van de maand wordt juist geëvalueerd door de month() 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 month_name met behulp van de month() functie.
-
Een extra veld met de naam long_date met behulp van de date() functie voor het weergeven van de volledige datum.
Load-script
SET DateFormat='DD/MM/YYYY';
Master_Calendar:
Load
date,
date(date,'dd-MMMM-YYYY') as long_date,
month(date) as month_name
Inline
[
date
2022-01-11
2022-02-12
2022-03-13
2022-04-14
2022-05-15
2022-06-16
2022-07-17
2022-08-18
2022-09-19
2022-10-20
2022-11-21
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
-
date
-
long_date
-
month_name
date |
long_date |
month_name |
---|---|---|
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 naam van de maand wordt juist geëvalueerd door de month() 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 month_name met behulp van de month() functie.
-
De originele datum zonder notatie, met de naam unformatted_date.
-
Een extra veld met de naam long_date met behulp van de date() functie voor het weergeven van de volledige datum.
Load-script
SET DateFormat='DD/MM/YYYY';
Master_Calendar:
Load
unformatted_date,
date(unformatted_date,'dd-MMMM-YYYY') as long_date,
month(unformatted_date) as month_name
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
-
month_name
unformatted_date |
long_date |
month_name |
---|---|---|
44868 | 03-January- 2022 | Jan |
44898 | 03-February- 2022 | Feb |
44928 | 03-March- 2022 | Mar |
44958 | 03-April- 2022 | Apr |
44988 | 03-May- 2022 | May |
45018 | 03-June- 2022 | Jun |
45048 | 03-July- 2022 | Jul |
45078 | 03-August- 2022 | Aug |
45008 | 03-September- 2022 | Sep |
45038 | 03-October- 2022 | Okt |
45068 | 03-November- 2022 | Nov |
De naam van de maand wordt juist geëvalueerd door de month() functie in het script.
Voorbeeld 4 – Vervalmaand berekenen
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 Subscriptions. De tabel bevat drie velden.
-
id
-
order_date
-
amount
-
Load-script
Subscriptions:
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.
Maak deze meting om de maand te berekenen waarin een bestelling verloopt: =month(order_date+180).
order_date | =month(order_date+180) |
---|---|
03/01/2022 | Jul |
03/02/2022 | Aug |
03/03/2022 | Aug |
03/04/2022 | Sep |
03/05/2022 | Okt |
03/06/2022 | Nov |
03/07/2022 | Dec |
03/08/2022 | Jan |
03/09/2022 | Mar |
03/10/2022 | Apr |
03/11/2022 | May |
De month() functie bepaalt op correcte wijze dat een bestelling die op 11 maart is geplaatst in juli vervalt.