day - función de script y de gráfico
Esta función devuelve un entero que representa el día en que la fracción de expression se interpreta como una fecha de acuerdo con la interpretación numérica estándar.
La función devuelve el día del mes de una fecha en particular. Se suele utilizar para encontrar un campo de un día como parte de una dimensión de calendario.
Sintaxis:
day(expression)
Tipo de datos que devuelve: Entero
Ejemplo | Resultado |
---|---|
day( 1971-10-12 ) |
devuelve 12 |
day( 35648 ) | devuelve 6, porque 35648 = 1997-08-06 |
Ejemplo 1: conjunto de datos DateFormat (script)
Vista general
Abra el Editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos de fechas denominado Master_Calendar. La variable de sistema DateFormat, que está configurada como DD/MM/AAAA.
-
Un load precedente que crea un campo adicional, llamado day_of_month, usando la función day().
-
Un campo adicional, denominado long_date, usando la función date() para expresar el nombre completo del mes.
Script de carga
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
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
-
date
-
long_date
-
day_of_month
date |
long_date |
day_of_month |
---|---|---|
03/11/2022 |
11 marzo 2022 |
11 |
03/12/2022 |
12 marzo 2022 |
12 |
03/13/2022 |
13 marzo 2022 |
13 |
03/14/2022 |
14 marzo 2022 |
14 |
03/15/2022 |
15 marzo 2022 |
15 |
03/16/2022 |
16 marzo 2022 |
16 |
03/17/2022 |
17 marzo 2022 |
17 |
03/18/2022 |
18 marzo 2022 |
18 |
03/19/2022 |
19 marzo 2022 |
19 |
03/20/2022 |
20 marzo 2022 |
20 |
03/21/2022 |
21 marzo 2022 |
21 |
La función de script day() evalúa correctamente el día del mes.
Ejemplo 2: fechas ANSI (script)
Vista general
Abra el Editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos de fechas denominado Master_Calendar. Se utiliza la variable de sistema DateFormat DD/MM/AAAA. Sin embargo, las fechas que se incluyen en el conjunto de datos están en formato de fecha estándar ANSI.
-
Un load precedente que crea un campo adicional, llamado day_of_month, usando la función date().
-
Un campo adicional, denominado long_date, usando la función date() para expresar la fecha con el nombre completo del mes.
Script de carga
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
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
-
date
-
long_date
-
day_of_month
date |
long_date |
day_of_month |
---|---|---|
03/11/2022 | 11 marzo 2022 | 11 |
03/12/2022 | 12 marzo 2022 | 12 |
03/13/2022 | 13 marzo 2022 | 13 |
03/14/2022 | 14 marzo 2022 | 14 |
03/15/2022 | 15 marzo 2022 | 15 |
03/16/2022 | 16 marzo 2022 | 16 |
03/17/2022 | 17 marzo 2022 | 17 |
03/18/2022 | 18 marzo 2022 | 18 |
03/19/2022 | 19 marzo 2022 | 19 |
03/20/2022 | 20 marzo 2022 | 20 |
03/21/2022 | 21 marzo 2022 | 21 |
La función de script day() evalúa correctamente el día del mes.
Ejemplo 3: fechas sin formato (script)
Vista general
Abra el Editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos de fechas denominado Master_Calendar. Se utiliza la variable de sistema DateFormat DD/MM/AAAA.
-
Un load precedente que crea un campo adicional, llamado day_of_month, usando la función day().
-
La fecha original sin formato, denominada unformatted_date.
-
Un campo adicional, denominado long_date, usando la función date() que sirve para convertir la fecha numérica en un campo de fecha con formato.
Script de carga
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
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
-
unformatted_date
-
long_date
-
day_of_month
unformatted_date |
long_date |
day_of_month |
---|---|---|
44868 |
03 noviembre 2022 |
3 |
44898 |
03 diciembre 2022 |
3 |
44928 |
02 enero 2023 |
2 |
44958 |
01 febrero 2023 |
1 |
44988 |
03 marzo 2023 |
3 |
45008 |
03 marzo 2023 |
23 |
45018 |
02 abril 2023 |
2 |
45038 |
22 abril 2023 |
22 |
45048 |
02 mayo 2023 |
2 |
45068 |
22 mayo 2023 |
22 |
45078 |
01 junio 2023 |
1 |
La función de script day() evalúa correctamente el día del mes.
Ejemplo 4: Calcular el mes de vencimiento (gráfico)
Vista general
Abra el Editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos de pedidos realizados en marzo denominado Orders. La tabla contiene tres campos:
-
id
-
order_date
-
amount
-
Script de carga
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
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:order_date.
Para calcular la fecha de entrega, cree esta medida =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 |
La función day() determina correctamente que un pedido realizado el 11 de marzo se entregará el 16 conforme a un período de entrega de 5 días.