# weekday - función de script y de gráfico

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.

Diagrama de la función `weekday()` que devuelve el nombre del día en que cae una fecha

Diagrama de la función `weekday()` que devuelve el nombre del día en que cae una fecha

Diagrama de la función `weekday()`weekday() que devuelve el nombre del día en que cae una fecha ![Diagrama que muestra la función weekday(), que devuelve el nombre del día en el que cae una fecha.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram1.png)

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.

Diagrama de la función `weekday()` con el valor numérico del día, que se muestra en lugar del nombre del día

Diagrama de la función `weekday()` con el valor numérico del día, que se muestra en lugar del nombre del día

Diagrama de la función `weekday()`weekday() con el valor numérico del día, que se muestra en lugar del nombre del día ![Diagrama que muestra que la función weekday() puede devolver un valor numérico que corresponde al día que se identifica.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram2.png)

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.

Temas relacionados

| Temas | Interacción |
| --- | --- |
| [FirstWeekDay](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | Define el día de inicio de cada semana. |

| <ul> </ul> |
| --- |

Argumentos

| Argumento | Descripción |
| --- | --- |
| date | La fecha o marca de tiempo para evaluar. |
| first\_week\_day | Especifica el día en el que se inicia la semana. Si se omite, se utiliza el valor de la variable FirstWeekDay.<br><br>[FirstWeekDay](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) |

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.

La configuración regional predeterminada en las aps se basa en la configuración del sistema regional de la computadora o servidor donde esté instalado Qlik Sense. Si el servidor de Qlik Sense al que está accediendo está configurado en Suecia, el editor de carga de datos utilizará la configuración regional sueca para las fechas, la hora y la moneda. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Sense. Qlik Sense se mostrará en el mismo idioma que esté utilizando en 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.<br><br>En este ejemplo, el domingo (`6`) es el primer día de la semana. |
| `SET FirstWeekDay=6;`<br><br>`...`<br><br>`weekday('10/12/1971')` | Devuelve "Mar" y 2. |

## Ejemplo 1: cadena de texto de día de la semana

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.htm)

#### Script de carga y resultados

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`.

Diagrama de la función `weekday()` que devuelve el miércoles como día de la semana de la transacción 8192

Diagrama de la función `weekday()` que devuelve el miércoles como día de la semana de la transacción 8192

Diagrama de la función `weekday()`weekday() que devuelve el miércoles como día de la semana de la transacción 8192 ![Diagrama que muestra que la función weekday() devuelve el miércoles como día de la semana para la transacción 8192.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.htm)

#### Script de carga y resultados

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 |

Diagrama de la función `weekday()` que muestra que el miércoles tiene el valor numérico dual de 1

Diagrama de la función `weekday()` que muestra que el miércoles tiene el valor numérico dual de 1

Diagrama de la función `weekday()`weekday() que muestra que el miércoles tiene el valor numérico dual de 1 ![Diagrama que muestra que el 5 de enero de 2022 cae en miércoles y que el miércoles tiene el valor numérico de 1 porque el primer día de la semana se ha establecido en martes.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-example2-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.htm)

#### Script de carga y expresión de 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`.

Diagrama de la función `weekday()` que devuelve el miércoles como día de la semana de la transacción 8192

Diagrama de la función `weekday()` que devuelve el miércoles como día de la semana de la transacción 8192

Diagrama de la función `weekday()`weekday() que devuelve el miércoles como día de la semana de la transacción 8192 ![Diagrama que muestra que la función weekday() devuelve el miércoles como día de la semana para la transacción 8192.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.htm)

#### Script de carga y resultados

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 |