Esta función devuelve un valor dual con lo siguiente:
Un nombre de día tal como se define en la variable de entorno DayNames.
Un número entero entre 0 y 6 correspondiente al día nominal de la semana (0-6).
Sintaxis:
weekday(date [,first_week_day=0])
Tipo de datos que devuelve: dual
La función weekday() determina en qué día de la semana ocurre una fecha. Luego devuelve un valor de cadena de texto que representa ese día.
El resultado devuelve el valor numérico correspondiente a ese día de la semana (0-6), según el día de inicio de la semana. Por ejemplo, si el primer día de la semana se establece en domingo, un miércoles devolverá un valor numérico de 3. Este día de inicio lo determina la variable del sistema FirstWeekDay o el parámetro de la función first_week_day.
Puede utilizar este valor numérico como parte de una expresión aritmética. Por ejemplo, multiplíquelo por 1 para devolver el propio valor.
Cuándo se utiliza
La función weekday() es útil cuando desea comparar agregaciones por día de la semana. Por ejemplo, si desea comparar las ventas promedio de varios productos por día de la semana.
Estas dimensiones se pueden crear en el script de carga utilizando la función para crear un campo en una tabla de calendario maestro o se pueden utilizar directamente en un gráfico como una medida calculada.
Puede utilizar los siguientes valores para establecer el día en que comienza la semana en el argumento first_week_day:
first_week_day values
Día
Valor
Lunes
0
Martes
1
Miércoles
2
Jueves
3
Viernes
4
Sábado
5
Domingo
6
Configuraciones regionales
A menos que se especifique algo distinto, los ejemplos de este tema utilizan el siguiente formato de fecha: MM/DD/YYYY. El formato de fecha se especifica en la sentencia SET DateFormat de su script de carga de datos. El formato de fecha predeterminado puede ser diferente en su sistema, debido a su configuración regional y otros factores. Puede cambiar el formato en los ejemplos a continuación para ajustarlo a sus necesidades. O puede cambiar los formatos en su script de carga para que coincidan con estos ejemplos. Para más información, vea Modificar la configuración regional para aplicaciones y scripts.
La configuración regional predeterminada en las aplicaciones se basa en el perfil de usuario. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Cloud. Qlik Cloud se mostrará en el mismo idioma que esté utilizando su navegador.
Nota informativaA menos que se indique lo contrario, FirstWeekDay se ha definido como 0 en estos ejemplos.
Ejemplos de funciones
Ejemplo
Resultado
weekday('10/12/1971')
Devuelve "Mar" y 1.
weekday('10/12/1971' , 6)
Devuelve "Mar" y 2.
En este ejemplo, el domingo (6) es el primer día de la semana.
SET FirstWeekDay=6;
...
weekday('10/12/1971')
Devuelve "Mar" y 2.
Ejemplo 1: cadena de texto de día de la semana
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que contiene un conjunto de transacciones de 2022, que se carga en una tabla llamada "Transactions".
La variable del sistema FirstWeekDay configurada en 6 (domingo).
La variable DayNames que está configurada para usar los nombres de día predeterminados.
Una instrucción load anterior que contiene la función weekday(), que se establece como el campo "week_day" y devuelve el día de la semana en que se realizaron las transacciones.
Script de carga
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*,
WeekDay(date) as week_day
;
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
week_day
Tabla de resultados
id
date
week_day
8188
01/01/2022
Sáb
8189
01/02/2022
Dom
8190
01/03/2022
Lun
8191
01/04/2022
Mar
8192
01/05/2022
Mié
8193
01/06/2022
Jue
8194
01/07/2022
Vie
El campo week_day se crea en la instrucción load anterior utilizando la función weekday() e introduciendo el campo de fecha como argumento de la función.
La función weekday() devuelve un valor de cadena de texto con el día de la semana; es decir, devuelve el nombre del día de la semana establecido en la variable del sistema DayNames.
La transacción 8192 tuvo lugar el 5 de enero. La variable del sistema FirstWeekDay establece el primer día de la semana como domingo. La transacción de la función weekday() tuvo lugar un miércoles y devuelve este valor, en la forma abreviada de la variable del sistema DayNames, en el campo week_day.
Los valores del campo "week_day" están alineados a la derecha en la columna porque hay un número dual y un resultado de texto para el campo (miércoles, 3). Para convertir el valor del campo en su equivalente numérico, el campo se puede incluir en la función num(). Por ejemplo, en la transacción 8192, el valor del miércoles se convertiría en el número 3.
Ejemplo 2: first_week_day
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que contiene un conjunto de transacciones de 2022, que se carga en una tabla llamada "Transactions".
La variable del sistema FirstWeekDay configurada en 6 (domingo).
La variable DayNames que está configurada para usar los nombres de día predeterminados.
Una instrucción load anterior que contiene la función weekday(), que se establece como el campo "week_day" y devuelve el día de la semana en que se realizaron las transacciones.
Script de carga
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*,
WeekDay(date,1) as week_day
;
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
week_day
Tabla de resultados
id
date
week_day
8188
01/01/2022
Sáb
8189
01/02/2022
Dom
8190
01/03/2022
Lun
8191
01/04/2022
Mar
8192
01/05/2022
Mié
8193
01/06/2022
Jue
8194
01/07/2022
Vie
Como el argumento de first_week_day está establecido en 1 en la función weekday(), el primer día de la semana es martes. Por lo tanto, todas las transacciones que se realicen un martes tendrán un valor numérico dual de 0.
La transacción 8192 tuvo lugar el 5 de enero. La función weekday() identifica que es miércoles, por lo que la expresión devolverá el valor numérico dual de 1.
Ejemplo 3: ejemplo de objeto gráfico
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que contiene un conjunto de transacciones de 2022, que se carga en una tabla llamada "Transactions".
La variable del sistema FirstWeekDay configurada en 6 (domingo).
La variable DayNames que está configurada para usar los nombres de día predeterminados.
Sin embargo, en este ejemplo, el conjunto de datos sin modificar se carga en la aplicación. El cálculo que identifica el valor del día de la semana se crea como una medida en un gráfico en la app.
Script de carga
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
Para calcular el valor del día de la semana, cree la siguiente medida:
=weekday(date)
Tabla de resultados
id
date
=weekday(date)
8188
01/01/2022
Sáb
8189
01/02/2022
Dom
8190
01/03/2022
Lun
8191
01/04/2022
Mar
8192
01/05/2022
Mié
8193
01/06/2022
Jue
8194
01/07/2022
Vie
El campo "=weekday(date)" se crea en el gráfico utilizando la función weekday() e introduciendo el campo de fecha como argumento de la función.
La función weekday() devuelve un valor de cadena de texto con el día de la semana; es decir, devuelve el nombre del día de la semana establecido en la variable del sistema DayNames.
La transacción 8192 tuvo lugar el 5 de enero. La variable del sistema FirstWeekDay establece el primer día de la semana como domingo. La transacción de la función weekday() tuvo lugar un miércoles y devuelve este valor, en la forma abreviada de la variable del sistema DayNames, en el campo =weekday(date).
Ejemplo 4: escenario
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que contiene un conjunto de transacciones de 2022, que se carga en una tabla llamada "Transactions".
La variable del sistema FirstWeekDay configurada en 6 (domingo).
La variable DayNames que está configurada para usar los nombres de día predeterminados.
Al usuario final le gustaría tener un gráfico que presente la media de ventas por día de la semana de las transacciones.
Script de carga
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
LOAD
RecNo() AS id,
MakeDate(2022, 1, Ceil(Rand() * 31)) as date,
Rand() * 1000 AS amount
Autogenerate(1000);
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
=weekday(date)
=avg(amount)
Establezca el Formato numérico de la medida en Moneda.
Tabla de resultados
weekday(date)
Avg(amount)
Dom
$536.96
Lun
$500.80
Mar
$515.63
Mié
$509.21
Jue
$482.70
Vie
$441.33
Sáb
$505.22
¿Esta página le ha sido útil?
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.