# inweektodate Função de script e de gráfico

Essa função retornará True se timestamp estiver na parte da semana que contém a base\_date até e inclusive o último milissegundo da base\_date.

Sintaxe:

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

Tipo de dados de retorno: Booleano

Nota informativa

No Qlik Sense, o valor booleano “true” é representado por -1, e o valor falso é representado por 0.

Diagrama da função inweektodate

Diagrama da função inweektodate

Diagrama da função inweektodate ![Diagrama de exemplo do intervalo de datas dentro do qual a função inweektodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-general.png)

A função `inweektodate()` usa o parâmetro `base_date` para identificar uma data limite máxima de um segmento de semana, bem como sua data correspondente para o início da semana, que se baseia na `variável` do sistema FirstWeekDay (ou no parâmetro `first_week_day` definido pelo usuário). Assim que o segmento dessa semana tiver sido definido, a função retornará resultados booleanos ao comparar os valores de data prescritos com esse segmento.

## Quando usar

A função `inweektodate()` retorna um resultado booleano. Normalmente, esse tipo de função será usado como uma condição em uma expressão `if`. Isso retornará uma agregação ou cálculo, dependendo de se uma data avaliada ocorreu durante a semana em questão, até e incluindo uma data específica.

Por exemplo, a função `inweektodate()` pode ser usada para calcular todas as vendas feitas durante uma semana especificada até uma determinada data.

Argumentos

| Argumento | Descrição |
| --- | --- |
| timestamp | A data que você deseja comparar com base\_date. |
| base\_date | Data que é usada para avaliar a semana. |
| period\_no | A semana pode ser deslocada por period\_no. period\_no é um inteiro, em que o valor 0 indica a semana que contém base\_date. Os valores negativos em period\_no indicam semanas precedentes e os valores positivos indicam semanas subsequentes. |
| first\_week\_day | Por padrão, o primeiro dia da semana é domingo (conforme determinado pela variável de sistema FirstWeekDay), começando à meia-noite entre sábado e domingo. O parâmetro first\_week\_day substitui a variável FirstWeekDay. Para indicar a semana que começa em outro dia, especifique um sinalizador entre 0 e 6.<br><br>Para uma semana começando na segunda-feira e terminando no domingo, use um sinalizador de 0 para segunda-feira, 1 para terça-feira, 2 para quarta-feira, 3 para quinta-feira, 4 para sexta-feira, 5 para sábado e 6 para domingo. |

Exemplos de funções

| Exemplo | Interação |
| --- | --- |
| `inweektodate('01/12/2006', '01/12/2006', 0)` | Retorna `TRUE`. |
| `inweektodate('01/12/2006', '01/11/2006', 0)` | Retorna `FALSE`. |
| ` inweektodate('01/12/2006', '01/18/2006', -1)  ` | Retorna `FALSE`.<br>Como `period_no` é especificado como -1, os dados efetivos com base nos quais `timestamp` é medido são 01/11/2006. |
| ` inweektodate('01/11/2006', '01/12/2006', 0, 3 )  ` | Retorna `FALSE`, já que `first_week_day` está especificado como `3` (quinta-feira), o que torna 01/12/2006 o primeiro dia da semana seguinte à semana que contém 01/12/2006. |

Estes tópicos podem ajudar você a trabalhar com essa função:

Tópicos relacionados

| Tópico | Sinalizador/valor padrão | Descrição |
| --- | --- | --- |
| [FirstWeekDay](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | 6 / Domingo | Define o dia de início de cada semana. |

## Configurações regionais

A menos que especificado de outra forma, os exemplos neste tópico usam o seguinte formato de data: MM/DD/AAAA. O formato de data é especificado na instrução `SET DateFormat` no seu script de carregamento de dados. A formatação de data padrão pode ser diferente no seu sistema devido às suas configurações regionais e outros fatores. Você pode alterar os formatos nos exemplos abaixo para atender às suas necessidades. Ou pode alterar os formatos no seu script de carregamento para corresponder a esses exemplos.

As configurações regionais padrão nos aplicativos são baseadas nas configurações regionais do sistema do computador ou servidor onde o Qlik Sense está instalado. Se o servidor Qlik Sense que você está acessando estiver definido como Suécia, o Editor de carregamento de dados usará as configurações regionais suecas para datas, horas e moedas. Essas configurações de formato regional não estão relacionadas ao idioma exibido na Qlik Sense interface do usuário. Qlik Sense será exibido no mesmo idioma do navegador que você está usando.

## Exemplo 1: Sem argumentos adicionais

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

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados contendo um conjunto de transações para o mês de janeiro de 2022, que é carregado em uma tabela denominada "`Transactions`".

* O campo de dados fornecido no formato `TimestampFormat='M/D/YYYY h:mm:ss[.fff]'`.

* A criação de um campo, `in_week_to_date`, que determina quais transações ocorreram na semana até 14 de janeiro de 2022.

* A criação de um campo adicional, chamado `weekday`, usando a função `weekday()`. Esse novo campo é criado para mostrar qual dia da semana corresponde a cada data.

Script de carregamento

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

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `date`

* `week_day`

* `in_week_to_date`

Tabela de resultados

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

O campo `in_week_to_date` é criado na instrução de carregamento anterior usando a função `inweektodate()`. O primeiro argumento fornecido identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 14 de janeiro, que é a `base_date` que identifica qual semana segmentar e que define o limite final desse segmento. Um `period_no` de 0 é o argumento final, o que significa que a função não está comparando semanas anteriores ou posteriores à semana segmentada.

A variável de sistema `FirstWeekDay` determina que as semanas começam em um domingo e terminam em um sábado. Portanto, janeiro seria dividido em semanas de acordo com o diagrama abaixo, com as datas entre 9 e 14 de janeiro fornecendo o período válido para o cálculo de `inweekdodate()`:

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE ![Diagrama mostrando o intervalo de datas para o qual a função inweektodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-no-add-arg-calendar.png)

Qualquer transação que ocorra entre 9 e 14 de janeiro retorna um resultado booleano de `TRUE`. As transações antes e depois das datas retornam um resultado booleano de `FALSE`.

## Exemplo 2 – period\_no

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

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* O mesmo conjunto de dados e cenário do primeiro exemplo.

* A criação de um campo, `prev_week_to_date`, que determina quais transações ocorreram uma semana inteira antes do término do segmento de semana em 14 de janeiro de 2022.

* A criação de um campo adicional, chamado `weekday`, usando a função `weekday()`. Ele é criado para mostrar qual dia da semana corresponde a cada data.

Script de carregamento

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

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `date`

* `week_day`

* `prev_week_to_date`

Tabela de resultados

| data | week\_day | anterior\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Dom | -1 |
| 2022-01-05 01:02:30 | Qua | -1 |
| 2022-01-06 15:36:20 | Qui | -1 |
| 2022-01-08 10:58:35 | Sáb | 0 |
| 2022-01-09 08:53:32 | Dom | 0 |
| 2022-01-10 21:13:01 | Seg | 0 |
| 2022-01-11 00:57:13 | Ter | 0 |
| 2022-01-12 09:26:02 | Qua | 0 |
| 2022-01-13 15:05:09 | Qui | 0 |
| 2022-01-14 18:44:57 | Sex | 0 |
| 2022-01-15 06:10:46 | Sáb | 0 |
| 2022-01-16 06:39:27 | Dom | 0 |
| 2022-01-17 10:44:16 | Seg | 0 |
| 2022-01-18 18:48:17 | Ter | 0 |
| 2022-01-26 04:36:03 | Qua | 0 |
| 2022-01-27 08:07:49 | Qui | 0 |
| 2022-01-28 12:24:29 | Sex | 0 |
| 2022-01-30 11:56:56 | Dom | 0 |
| 2022-01-30 14:40:19 | Dom | 0 |
| 2022-01-31 05:28:21 | Seg | 0 |

Um valor de `period_no` -1 indica que a função `inweektodate ()` compara o segmento de trimestre de entrada com a semana anterior. O segmento de semana equivale inicialmente a um período entre 9 e 14 de janeiro. `period_no` então desloca o limite inicial e final desse segmento para uma semana antes, fazendo com que os limites de data se tornem de 2 a 7 de janeiro.

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE ![Diagrama mostrando o intervalo de datas para o qual a função inweektodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-period-no-calendar.png)

Portanto, qualquer transação que ocorra entre 2 e 8 de janeiro (sem incluir 8 de janeiro) retornará um resultado booleano de `TRUE`.

## Exemplo 3: first\_week\_day

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

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* O mesmo conjunto de dados e cenário do primeiro exemplo.

* A criação de um campo, `in_week_to_date`, que determina quais transações ocorreram na semana até 14 de janeiro de 2022.

* A criação de um campo adicional, chamado `weekday`, usando a função `weekday()`. Ele é criado para mostrar qual dia da semana corresponde a cada data.

Neste exemplo, consideramos segunda-feira o primeiro dia da semana.

Script de carregamento

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

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `date`

* `week_day`

* `in_week_to_date`

Tabela de resultados

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

Usando 0 como argumento `first_week_day` na função `inweektodate()`, o argumento da função substitui a variável do sistema `FirstWeekDay` e define segunda-feira como o primeiro dia da semana.

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE ![Diagrama mostrando o intervalo de datas de transações para o qual a função inweektodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-first-week-day-calendar.png)

Portanto, qualquer transação que ocorra entre 10 e 14 de janeiro retornará um resultado booleano de `TRUE`, enquanto as transações com datas fora desses limites retornarão um valor de `FALSE`.

## Exemplo 4: Exemplo de objeto de gráfico

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

#### Script de carregamento e expressão de gráfico

Visão geral

Abra o editor de carregamento de dados e adicione o script de carregamento abaixo em uma nova guia.

O script de carregamento contém o mesmo conjunto de dados e cenário do primeiro exemplo. No entanto, neste exemplo, o conjunto de dados inalterado é carregado no aplicativo. O cálculo que determina quais transações ocorreram na semana até 14 de janeiro de 2022 é criado como uma medida no objeto de gráfico.

Script de carregamento

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

Faça o seguinte:

1. Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão: date.

2. Para calcular se as transações ocorreram na mesma semana até 14 de janeiro, crie a seguinte medida:

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

3. Para mostrar qual dia da semana corresponde a cada data, crie uma medida adicional:

   =weekday(date)

Tabela de resultados

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

O campo in\_week\_to\_date é criado como uma medida no objeto de gráfico usando a função inweektodate(). O primeiro argumento fornecido identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 14 de janeiro, que é a base\_date que identifica qual semana segmentar e que define o limite final desse segmento. Um period\_no de 0 é o argumento final, o que significa que a função não está comparando semanas anteriores ou posteriores à semana segmentada.

A variável de sistema FirstWeekDay determina que as semanas começam em um domingo e terminam em um sábado. Portanto, janeiro seria dividido em semanas de acordo com o diagrama abaixo, com as datas entre 9 e 14 de janeiro fornecendo o período válido para o cálculo de inweekdodate():

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE

Diagrama de calendário mostrando datas de transação que retornariam um resultado booleano de TRUE ![Diagrama mostrando o intervalo de datas para o qual a função inweektodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-chart-object-calendar.png)

Qualquer transação que ocorra entre 9 e 14 de janeiro retorna um resultado booleano de TRUE. As transações antes e depois das datas retornam um resultado booleano de FALSE.

## Exemplo 5: Cenário

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

#### Script de carregamento e expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela denominada Products.

* Informações sobre o ID do produto, data de fabricação e preço de custo.

Foi identificado que, devido a um erro de equipamento, os produtos fabricados na semana de 12 de janeiro estavam com defeito. O problema foi resolvido em 13 de janeiro. O usuário final deseja um objeto de gráfico que mostre, por semana, o status que indica se os produtos fabricados estão "com defeito" ou "sem defeito", bem como o custo dos produtos fabricados naquela semana.

Script de carregamento

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

Faça o seguinte:

1. Carregue os dados e abra uma pasta. Crie uma nova tabela. Crie uma dimensão para mostrar os nomes das semanas:

   =weekname(manufacture\_date)

2. Em seguida, crie uma dimensão para identificar quais dos produtos estão com defeito e quais estão sem defeito:

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

3. Crie uma medida para somar o cost\_price dos produtos:

   =sum(cost\_price)

4. Defina o Formato numérico da medida como Dinheiro.

Tabela de resultados

| weekname(manufacture\_date) | if(inweektodate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless') | Sum(cost\_price) |
| --- | --- | --- |
| 2022/02 | Sem falhas | $200.09 |
| 2022/03 | Com defeito | $263.46 |
| 2022/03 | Sem falhas | $178.05 |
| 2022/04 | Sem falhas | $178.41 |
| 2022/05 | Sem falhas | $147.46 |
| 2022/06 | Sem falhas | $248.12 |

A função inweektodate() retorna um valor booleano ao avaliar as datas de fabricação de cada um dos produtos. Para os casos que retornam um valor booleano de TRUE, ela marca os produtos como 'Defective'. Para qualquer produto que retorne um valor de FALSE e, portanto, não tenha sido fabricado na semana até 12 de janeiro, ela marca os produtos como ‘Faultless’.