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

Esta función devuelve True si timestamp se encuentra dentro de la parte de la semana que contiene a base\_date hasta e incluido el último milisegundo de base\_date.

Sintaxis:

InWeekToDate (timestamp, base\_date, period\_no [, first\_week\_day])

Tipo de datos que devuelve: Booleano

Nota informativa

En Qlik Sense, el valor booleano verdadero viene representado por -1 y el valor falso está representado por 0.

Diagrama de la función inweektodate

Diagrama de la función inweektodate

Diagrama de la función inweektodate ![Diagrama a modo de ejemplo del rango de fechas dentro del cual la función inweektodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-general.png)

La función `inweektodate()` utiliza el parámetro `base_date` para identificar una fecha límite máxima de un segmento de semana, así como su fecha correspondiente para el inicio de la semana, que se basa en la variable de sistema `FirstWeekDay` (o parámetro `first_week_day` definido por el usuario). Una vez que se haya definido este segmento de semana, la función devolverá resultados booleanos al comparar los valores de fecha prescritos con ese segmento.

## Cuándo se utiliza

La función `inweektodate()` devuelve un resultado booleano. Normalmente, este tipo de función se utilizará como condición en una expresión `if`. Esto devolverá una agregación o cálculo dependiendo de si una fecha evaluada ocurrió durante la semana en cuestión hasta una fecha en particular inclusive.

Por ejemplo, la función `inweektodate()` se puede utilizar para calcular todas las ventas realizadas durante una semana específica hasta una fecha determinada.

Argumentos

| Argumento | Descripción |
| --- | --- |
| timestamp | La fecha que desea comparar con base\_date. |
| base\_date | La fecha que se utiliza para evaluar la semana. |
| period\_no | La semana puede desplazarse mediante period\_no. period\_no es un entero, en el que el valor 0 indica la semana que contiene a base\_date. Los valores negativos en period\_no indican semanas precedentes y los valores positivos indican semanas subsiguientes. |
| first\_week\_day | De forma predeterminada, el primer día de la semana es el domingo (según lo determina la variable de sistema FirstWeekDay), comenzando a la medianoche entre el sábado y el domingo. El parámetro first\_week\_day reemplaza a la variable FirstWeekDay. Para indicar una semana que comienza en otro día, especifique un desplazamiento entre 0 y 6.<br><br>Para una semana que comience el lunes y finalice el domingo, utilice un indicador de 0 para el lunes, 1 para el martes, 2 para el miércoles, 3 para el jueves, 4 para el viernes, 5 para el sábado y 6 para el domingo. |

Ejemplos de funciones

| Ejemplo | Interacción |
| --- | --- |
| `inweektodate('01/12/2006', '01/12/2006', 0)` | Devuelve `TRUE`. |
| `inweektodate('01/12/2006', '01/11/2006', 0)` | Devuelve `FALSE`. |
| ` inweektodate('01/12/2006', '01/18/2006', -1)  ` | Devuelve `FALSE`.<br>Porque `period_no` está especificado como -1, los datos efectivos con los que se mide `timestamp` son 01/11/2006. |
| ` inweektodate('01/11/2006', '01/12/2006', 0, 3 )  ` | Devuelve `FALSE`, porque `first_week_day` está especificado como `3` (jueves), lo que hace que 01/12/2006 sea el primer día de la semana que sigue a la semana que contiene a 01/12/2006. |

Estos temas le ayudarán a trabajar con esta función:

Temas relacionados

| Tema | Valor/indicador predeterminado | Descripción |
| --- | --- | --- |
| [FirstWeekDay](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | 6 / Domingo | Define el día de inicio de cada semana. |

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

## Ejemplo 1: sin argumentos adicionales

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que contiene un conjunto de transacciones del mes de enero de 2022, el cual se carga en una tabla denominada "`Transactions`".

* El campo de datos proporcionado en el formato `TimestampFormat='M/D/YYYY h:mm:ss[.fff]'`.

* La creación de un campo, `in_week_to_date`, que determina qué transacciones se realizaron en la semana hasta el 14 de enero de 2022.

* La creación de un campo adicional, llamado `weekday`, usando la función `weekday()`. Este nuevo campo se crea para mostrar qué día de la semana corresponde a cada fecha.

Script de carga

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';
SET FirstWeekDay=6;
Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', 0) as in_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `week_day`

* `in_week_to_date`

Tabla de resultados

| date | week\_day | in\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Dom | 0 |
| 2022-01-05 01:02:30 | Mié | 0 |
| 2022-01-06 15:36:20 | Jue | 0 |
| 2022-01-08 10:58:35 | Sáb | 0 |
| 2022-01-09 08:53:32 | Dom | -1 |
| 2022-01-10 21:13:01 | Lun | -1 |
| 2022-01-11 00:57:13 | Mar | -1 |
| 2022-01-12 09:26:02 | Mié | -1 |
| 2022-01-13 15:05:09 | Jue | -1 |
| 2022-01-14 18:44:57 | Vie | -1 |
| 2022-01-15 06:10:46 | Sáb | 0 |
| 2022-01-16 06:39:27 | Dom | 0 |
| 2022-01-17 10:44:16 | Lun | 0 |
| 2022-01-18 18:48:17 | Mar | 0 |
| 2022-01-26 04:36:03 | Mié | 0 |
| 2022-01-27 08:07:49 | Jue | 0 |
| 2022-01-28 12:24:29 | Vie | 0 |
| 2022-01-30 11:56:56 | Dom | 0 |
| 2022-01-30 14:40:19 | Dom | 0 |
| 2022-01-31 05:28:21 | Lun | 0 |

El campo "`in_week_to_date`" se crea en la instrucción load anterior, mediante el uso de la función `inweektodate()`. El primer argumento proporcionado identifica qué campo se está evaluando. El segundo argumento es una fecha codificada para el 14 de enero, que es la `base_date` que identifica qué semana segmentar y define el límite final de ese segmento. Un `period_no` de 0 es el argumento final, lo que significa que la función no compara las semanas que preceden o siguen a la semana segmentada.

La variable de sistema `FirstWeekDay` determina que las semanas comienzan en domingo y terminan en sábado. Por lo tanto, enero se dividiría en semanas de acuerdo con el siguiente diagrama, siendo las fechas entre el 9 y el 14 de enero el período válido para el cálculo de `inweekdodate()`:

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE![Diagrama que muestra el rango de fechas para las que la función inweektodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-no-add-arg-calendar.png)

Cualquier transacción que ocurra entre el 9 y el 14 de enero devuelve un resultado booleano de `TRUE`. Las transacciones anteriores y posteriores a las fechas devuelven un resultado booleano de `FALSE`.

## Ejemplo 2: period\_no

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Se utilizan el mismo conjunto de datos y escenario que en el primer ejemplo.

* La creación de un campo, `prev_week_to_date`, que determina qué transacciones se realizaron en una semana completa antes del segmento de semana que finaliza el 14 de enero de 2022.

* La creación de un campo adicional, llamado `weekday`, usando la función `weekday()`. Este se crea para mostrar qué día de la semana corresponde a cada fecha.

Script de carga

```
SET FirstWeekDay=6;
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';
Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', -1) as prev_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `week_day`

* `prev_week_to_date`

Tabla de resultados

| date | week\_day | prev\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Dom | -1 |
| 2022-01-05 01:02:30 | Mié | -1 |
| 2022-01-06 15:36:20 | Jue | -1 |
| 2022-01-08 10:58:35 | Sáb | 0 |
| 2022-01-09 08:53:32 | Dom | 0 |
| 2022-01-10 21:13:01 | Lun | 0 |
| 2022-01-11 00:57:13 | Mar | 0 |
| 2022-01-12 09:26:02 | Mié | 0 |
| 2022-01-13 15:05:09 | Jue | 0 |
| 2022-01-14 18:44:57 | Vie | 0 |
| 2022-01-15 06:10:46 | Sáb | 0 |
| 2022-01-16 06:39:27 | Dom | 0 |
| 2022-01-17 10:44:16 | Lun | 0 |
| 2022-01-18 18:48:17 | Mar | 0 |
| 2022-01-26 04:36:03 | Mié | 0 |
| 2022-01-27 08:07:49 | Jue | 0 |
| 2022-01-28 12:24:29 | Vie | 0 |
| 2022-01-30 11:56:56 | Dom | 0 |
| 2022-01-30 14:40:19 | Dom | 0 |
| 2022-01-31 05:28:21 | Lun | 0 |

Un valor `period_no` de -1 indica que la función `inweektodate ()` compara el segmento del trimestre introducido con la semana anterior. El segmento de la semana equivale inicialmente al período entre el 9 y el 14 de enero. El `period_no` desplaza después el límite inicial y final de este segmento a una semana antes, lo que hace que los límites de fecha se conviertan del 2 de enero al 7 de enero.

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE![Diagrama que muestra el rango de fechas para las que la función inweektodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-period-no-calendar.png)

Por lo tanto, cualquier transacción que ocurra entre el 2 y el 8 de enero (sin incluir el mismo 8 de enero) devolverá un resultado booleano de `TRUE`.

## Ejemplo: first\_week\_day

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Se utilizan el mismo conjunto de datos y escenario que en el primer ejemplo.

* La creación de un campo, `in_week_to_date`, que determina qué transacciones se realizaron en la semana hasta el 14 de enero de 2022.

* La creación de un campo adicional, llamado `weekday`, usando la función `weekday()`. Este se crea para mostrar qué día de la semana corresponde a cada fecha.

En este ejemplo, consideramos el lunes como primer día de la semana.

Script de carga

```
SET FirstWeekDay=6;
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';

Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', 0, 0) as in_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `week_day`

* `in_week_to_date`

Tabla de resultados

| date | week\_day | in\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Dom | 0 |
| 2022-01-05 01:02:30 | Mié | 0 |
| 2022-01-06 15:36:20 | Jue | 0 |
| 2022-01-08 10:58:35 | Sáb | 0 |
| 2022-01-09 08:53:32 | Dom | 0 |
| 2022-01-10 21:13:01 | Lun | -1 |
| 2022-01-11 00:57:13 | Mar | -1 |
| 2022-01-12 09:26:02 | Mié | -1 |
| 2022-01-13 15:05:09 | Jue | -1 |
| 2022-01-14 18:44:57 | Vie | -1 |
| 2022-01-15 06:10:46 | Sáb | 0 |
| 2022-01-16 06:39:27 | Dom | 0 |
| 2022-01-17 10:44:16 | Lun | 0 |
| 2022-01-18 18:48:17 | Mar | 0 |
| 2022-01-26 04:36:03 | Mié | 0 |
| 2022-01-27 08:07:49 | Jue | 0 |
| 2022-01-28 12:24:29 | Vie | 0 |
| 2022-01-30 11:56:56 | Dom | 0 |
| 2022-01-30 14:40:19 | Dom | 0 |
| 2022-01-31 05:28:21 | Lun | 0 |

Utilizando 0 como el argumento de `first_week_day` en la función `inweektodate()`, el argumento de la función reemplaza a la variable de sistema `FirstWeekDay` y establece el lunes como el primer día de la semana.

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE![Diagrama que muestra el rango de fechas de transacciones para las que la función inweektodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-first-week-day-calendar.png)

Por lo tanto, cualquier transacción que ocurra entre el 10 y el 14 de enero arrojará un resultado booleano de `TRUE`, mientras que las transacciones con fechas fuera de estos límites arrojarán un valor de `FALSE`.

## Ejemplo 4: ejemplo de objeto gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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 en una nueva pestaña.

El script de carga contiene el mismo conjunto de datos y escenario que el primer ejemplo. Sin embargo, en este ejemplo, el conjunto de datos sin modificar se carga en la aplicación. El cálculo que determina qué transacciones se realizaron en la semana hasta el 14 de enero de 2022 se crea como una medida en el objeto gráfico.

Script de carga

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Resultados

Haga lo siguiente:

1. Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión: date.

2. Para calcular si las transacciones se realizaron en la misma semana hasta el 14 de enero, cree la siguiente medida:

   =inweektodate(date,'01/14/2022',0)

3. Para mostrar qué día de la semana corresponde a cada fecha, cree una medida adicional:

   =weekday(date)

Tabla de resultados

| date | week\_day | in\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Dom | 0 |
| 2022-01-05 01:02:30 | Mié | 0 |
| 2022-01-06 15:36:20 | Jue | 0 |
| 2022-01-08 10:58:35 | Sáb | 0 |
| 2022-01-09 08:53:32 | Dom | -1 |
| 2022-01-10 21:13:01 | Lun | -1 |
| 2022-01-11 00:57:13 | Mar | -1 |
| 2022-01-12 09:26:02 | Mié | -1 |
| 2022-01-13 15:05:09 | Jue | -1 |
| 2022-01-14 18:44:57 | Vie | -1 |
| 2022-01-15 06:10:46 | Sáb | 0 |
| 2022-01-16 06:39:27 | Dom | 0 |
| 2022-01-17 10:44:16 | Lun | 0 |
| 2022-01-18 18:48:17 | Mar | 0 |
| 2022-01-26 04:36:03 | Mié | 0 |
| 2022-01-27 08:07:49 | Jue | 0 |
| 2022-01-28 12:24:29 | Vie | 0 |
| 2022-01-30 11:56:56 | Dom | 0 |
| 2022-01-30 14:40:19 | Dom | 0 |
| 2022-01-31 05:28:21 | Lun | 0 |

El campo in\_week\_to\_date se crea como una medida usando la función inweektodate(). El primer argumento proporcionado identifica qué campo se está evaluando. El segundo argumento es una fecha codificada para el 14 de enero, que es la base\_date que identifica qué semana segmentar y define el límite final de ese segmento. Un period\_no de 0 es el argumento final, lo que significa que la función no compara las semanas que preceden o siguen a la semana segmentada.

La variable de sistema FirstWeekDay determina que las semanas comienzan en domingo y terminan en sábado. Por lo tanto, enero se dividiría en semanas de acuerdo con el siguiente diagrama, siendo las fechas entre el 9 y el 14 de enero el período válido para el cálculo de inweekdodate():

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE

Diagrama de calendario que muestra las fechas de transacciones que devolverían un resultado booleano de TRUE![Diagrama que muestra el rango de fechas para las que la función inweektodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-chart-object-calendar.png)

Cualquier transacción que ocurra entre el 9 y el 14 de enero devuelve un resultado booleano de TRUE. Las transacciones anteriores y posteriores a las fechas devuelven un resultado booleano de FALSE.

## Ejemplo 5: Escenario

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

#### Script de carga y expresión de gráfico

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla denominada Products.

* Información sobre la identificación del producto, la fecha de fabricación y el precio de coste.

Se ha identificado que, debido a un error del equipo, los productos que se fabricaron en la semana del 12 de enero eran defectuosos. El problema se resolvió el 13 de enero. Al usuario final le gustaría tener un objeto gráfico que muestre, por semana, si los productos fabricados son "defectuosos" o "sin defectos", y el costo de los productos fabricados en esa semana.

Script de carga

```
Products:
Load
*
Inline
[
product_id,manufacture_date,cost_price
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Resultados

Haga lo siguiente:

1. Cargue los datos y abra una hoja. Cree una nueva tabla. Cree una dimensión para mostrar los nombres de las semanas:

   =weekname(manufacture\_date)

2. A continuación, cree una dimensión para identificar cuáles de los productos son defectuosos y cuáles son sin defectos:

   =if(inWeektodate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless')

3. Cree una medida para sumar el cost\_price de los productos:

   =sum(cost\_price)

4. Establezca el Formato numérico de la medida en Moneda.

Tabla de resultados

| weekname(fecha\_fabricacion) | if(inweektodate(fecha\_fabricacion,makedate(2022,01,12),0),'Defectuoso','Sin defectos') | Sum(precio\_coste) |
| --- | --- | --- |
| 2022/02 | Sin defectos | $200.09 |
| 2022/03 | Defectuoso | $263.46 |
| 2022/03 | Sin defectos | $178.05 |
| 2022/04 | Sin defectos | $178.41 |
| 2022/05 | Sin defectos | $147.46 |
| 2022/06 | Sin defectos | $248.12 |

La función inweektodate() devuelve un valor booleano al evaluar las fechas de fabricación de cada uno de los productos. Para aquellos que devuelven un valor booleano de TRUE, marca los productos como 'Defective'. Para cualquier producto que devuelva un valor de FALSE, y por tanto no realizados en el trimestre hasta el 12 de mayo inclusive, marca los productos como ‘Faultless’.