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

Essa função retornará True se timestamp estiver dentro da semana que contém base\_date.

Sintaxe:

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

Tipo de dados de retorno: Booleano

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

Diagrama do intervalo da função `inweek()`

Diagrama do intervalo da função `inweek()`

Diagrama do intervalo da função `inweek()`inweek() ![Diagrama que mostra como a função inweek() pode ser usada para avaliar datas dentro de segmentos de semanas e retornar um resultado booleano se um dado cair ou não em um intervalo selecionado.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-diagram1.png)

A função `inweek()` usa o argumento `base_date` para identificar em qual período de sete dias a data cai. O dia de início da semana é baseado na `variável` de sistema FirstWeekDay. No entanto, você também pode alterar o primeiro dia da semana usando o argumento `first_week_day` da função `inweek()`.

Depois que a semana selecionada for definida, a função retornará resultados booleanos ao comparar os valores de data prescritos com esse segmento da semana.

Quando usar

A função `InWeek` retorna um resultado booleano. Normalmente, esse tipo de função será usado como uma condição em um `if expression`. A função `InWeek` retorna uma agregação ou cálculo que depende se uma data avaliada ocorreu na semana com a data selecionada do argumento `base_date`.

Por exemplo, a função `InWeek` pode ser usada para identificar todos os equipamentos fabricados em uma semana específica.

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

Valores de first\_week\_day

| Dia | Valor |
| --- | --- |
| Segunda-feira | 0 |
| Terça-feira | 1 |
| Quarta-feira | 2 |
| Quinta-feira | 3 |
| Sexta-feira | 4 |
| Sábado | 5 |
| Domingo | 6 |

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

Exemplos de funções

| Exemplo | Resultado |
| --- | --- |
| ` inweek ('01/12/2006', '01/14/2006', 0)  ` | Retorna TRUE |
| ` inweek ('01/12/2006', '01/20/2006', 0 )  ` | Retorna FALSE |
| ` inweek ('01/12/2006', '01/14/2006', -1 )  ` | Retorna FALSE |
| ` inweek ('01/07/2006', '01/14/2006', -1)  ` | Retorna TRUE |
| ` inweek ('01/12/2006', '01/09/2006', 0, 3)  ` | Retorna FALSE porque `first_week_day` está especificado como 3 (quinta-feira), o que torna 01/12/2006 o primeiro dia da semana seguinte à semana contendo 01/09/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. |

## Exemplo 1: Nenhum argumento adicional

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweek.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`".

* A variável de sistema `FirstWeekDay` que é definida como `6` (domingo).

* Um carregamento anterior que contém o seguinte:

  * A função `inweek()`, definida como o campo "`in_week`", que determina quais transações ocorreram na semana de 14 de janeiro de 2022.

  * A função `weekday()`, definida como o campo "`week_day`", que mostra qual dia da semana corresponde a cada data.

Script de carregamento

```
SET FirstWeekDay=6; 
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
    Load 
       *, 
       weekday(date) as week_day, 
       inweek(date,'01/14/2022', 0) as in_week 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',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`

Tabela de resultados

| data | week\_day | in\_week |
| --- | --- | --- |
| 01/02/2022 | Dom | 0 |
| 01/05/2022 | Qua | 0 |
| 01/06/2022 | Qui | 0 |
| 01/08/2022 | Sáb | 0 |
| 01/09/2022 | Dom | -1 |
| 01/10/2022 | Seg | -1 |
| 01/11/2022 | Ter | -1 |
| 01/12/2022 | Qua | -1 |
| 01/13/2022 | Qui | -1 |
| 01/14/2022 | Sex | -1 |
| 01/15/2022 | Sáb | -1 |
| 01/16/2022 | Dom | 0 |
| 01/17/2022 | Seg | 0 |
| 01/18/2022 | Ter | 0 |
| 01/26/2022 | Qua | 0 |
| 01/27/2022 | Qui | 0 |
| 01/28/2022 | Sex | 0 |
| 01/29/2022 | Sáb | 0 |
| 01/30/2022 | Dom | 0 |
| 01/31/2022 | Seg | 0 |

O campo "`in_week`" é criado na instrução de carregamento anterior usando a função `inweek()`. O primeiro argumento identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 14 de janeiro, que é a `base_date`. O argumento `base_date` funciona com a variável de sistema `FirstWeekDay` para identificar a semana comparadora. `period_no` de `0`, significando que a função não está comparando semanas anteriores ou posteriores à semana segmentada, é o argumento final.

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 15 de janeiro fornecendo o período válido para o cálculo de `inweek()`:

Diagrama do calendário com o intervalo da função `inweek()` destacado

Diagrama do calendário com o intervalo da função `inweek()` destacado

Diagrama do calendário com o intervalo da função `inweek()`inweek() destacado ![Diagrama de um calendário mostrando um mês, com as datas de 9 a 15 destacadas em verde. 9 é domingo e 15 é sábado.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-example1-diagram.png)

Qualquer transação que ocorra entre 9 e 15 de janeiro retorna um resultado booleano de `TRUE`.

## Exemplo 2: period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweek.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 contendo um conjunto de transações para 2022 é carregado em uma tabela denominada "`Transactions`".

* A variável de sistema `FirstWeekDay` que é definida como `6` (domingo).

* Um carregamento anterior que contém o seguinte:

  * A função `inweek ()`, definida como o campo "`prev_week`", que determina quais transações ocorreram uma semana inteira antes da semana de 14 de janeiro de 2022.

  * A função `weekday()`, definida como o campo "`week_day`", que mostra qual dia da semana corresponde a cada data.

Script de carregamento

```
SET FirstWeekDay=6; 
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
    Load 
       *, 
	weekday(date) as week_day, 
	inweek(date,'01/14/2022', -1) as prev_week  
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',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`

Tabela de resultados

| data | week\_day | prev\_week |
| --- | --- | --- |
| 01/02/2022 | Dom | -1 |
| 01/05/2022 | Qua | -1 |
| 01/06/2022 | Qui | -1 |
| 01/08/2022 | Sáb | -1 |
| 01/09/2022 | Dom | 0 |
| 01/10/2022 | Seg | 0 |
| 01/11/2022 | Ter | 0 |
| 01/12/2022 | Qua | 0 |
| 01/13/2022 | Qui | 0 |
| 01/14/2022 | Sex | 0 |
| 01/15/2022 | Sáb | 0 |
| 01/16/2022 | Dom | 0 |
| 01/17/2022 | Seg | 0 |
| 01/18/2022 | Ter | 0 |
| 01/26/2022 | Qua | 0 |
| 01/27/2022 | Qui | 0 |
| 01/28/2022 | Sex | 0 |
| 01/29/2022 | Sáb | 0 |
| 01/30/2022 | Dom | 0 |
| 01/31/2022 | Seg | 0 |

Usar `-1` como argumento `period_no` na função `inweek()` altera os limites da semana comparadora em sete dias completos. Com um `period_no` de `0`, a semana seria entre 9 e 15 de janeiro. Mas, neste exemplo, o `period_no` de `-1` desloca o limite inicial e final desse segmento para trás em uma semana. Os limites da data passam de 2 de janeiro a 8 de janeiro.

Diagrama do calendário com o intervalo da função `inweek()` destacado

Diagrama do calendário com o intervalo da função `inweek()` destacado

Diagrama do calendário com o intervalo da função `inweek()`inweek() destacado ![Diagrama de um calendário mostrando um mês, com as datas de 2 a 8 destacadas em verde. 2 é domingo e 8 é sábado.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-example2-diagram.png)

Portanto, qualquer transação que ocorra entre 2 de janeiro e 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/inweek.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 contendo um conjunto de transações para 2022 é carregado em uma tabela denominada "`Transactions`".

* A variável de sistema `FirstWeekDay` que é definida como `6` (domingo).

* Um carregamento anterior que contém o seguinte:

  * A função `inweek()`, definida como o campo "`in_week`", que determina quais transações ocorreram na semana de 14 de janeiro de 2022.

  * A função `weekday()`, definida como o campo "`week_day`", que mostra qual dia da semana corresponde a cada data.

Script de carregamento

```
SET FirstWeekDay=6; 
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
    Load 
       *, 
	weekday(date) as week_day, 
	inweek(date,'01/14/2022', 0, 0) as in_week 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',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`

Tabela de resultados

| data | week\_day | in\_week |
| --- | --- | --- |
| 01/02/2022 | Dom | 0 |
| 01/05/2022 | Qua | 0 |
| 01/06/2022 | Qui | 0 |
| 01/08/2022 | Sáb | 0 |
| 01/09/2022 | Dom | 0 |
| 01/10/2022 | Seg | -1 |
| 01/11/2022 | Ter | -1 |
| 01/12/2022 | Qua | -1 |
| 01/13/2022 | Qui | -1 |
| 01/14/2022 | Sex | -1 |
| 01/15/2022 | Sáb | -1 |
| 01/16/2022 | Dom | -1 |
| 01/17/2022 | Seg | 0 |
| 01/18/2022 | Ter | 0 |
| 01/26/2022 | Qua | 0 |
| 01/27/2022 | Qui | 0 |
| 01/28/2022 | Sex | 0 |
| 01/29/2022 | Sáb | 0 |
| 01/30/2022 | Dom | 0 |
| 01/31/2022 | Seg | 0 |

O uso de `0` como argumento `first_week_day` na função `inweek()` substitui a variável de sistema `FirstWeekDay` e define segunda-feira como o primeiro dia da semana.

Diagrama do calendário com o intervalo da função `inweek()` destacado

Diagrama do calendário com o intervalo da função `inweek()` destacado

Diagrama do calendário com o intervalo da função `inweek()`inweek() destacado ![Diagrama de um calendário mostrando um mês, com as datas de 10 a 16 destacadas em verde. 10 é segunda-feira e 16 é domingo.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-example3-diagram.png)

Portanto, qualquer transação que ocorra entre 10 e 16 de janeiro retornará um resultado booleano de TRUE.

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

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

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

Visão geral

São usados o mesmo conjunto de dados e cenário do primeiro exemplo.

No entanto, neste exemplo, o conjunto de dados permanece inalterado e é carregado no aplicativo. Crie uma medida na tabela de resultados para determinar quais transações ocorreram na semana de 14 de janeiro de 2022.

Script de carregamento

```
SET FirstWeekDay=6; 
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',67.67 
]; 
```

Resultados

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

* `date`

Crie as seguintes medidas:

* `=inweek (date,'01/14/2022',0)`, para calcular se as transações ocorreram na mesma semana de 14 de janeiro.

* `=weekday(date)`, para mostrar qual dia da semana corresponde a cada data.

Tabela de resultados

| data | week\_day | =inweek (date,'01/14/2022',0) |
| --- | --- | --- |
| 01/02/2022 | Dom | 0 |
| 01/05/2022 | Qua | 0 |
| 01/06/2022 | Qui | 0 |
| 01/08/2022 | Sáb | 0 |
| 01/09/2022 | Dom | -1 |
| 01/10/2022 | Seg | -1 |
| 01/11/2022 | Ter | -1 |
| 01/12/2022 | Qua | -1 |
| 01/13/2022 | Qui | -1 |
| 01/14/2022 | Sex | -1 |
| 01/15/2022 | Sáb | -1 |
| 01/16/2022 | Dom | 0 |
| 01/17/2022 | Seg | 0 |
| 01/18/2022 | Ter | 0 |
| 01/26/2022 | Qua | 0 |
| 01/27/2022 | Qui | 0 |
| 01/28/2022 | Sex | 0 |
| 01/29/2022 | Sáb | 0 |
| 01/30/2022 | Dom | 0 |
| 01/31/2022 | Seg | 0 |

A medida "`in_week`" é criada no gráfico usando a função `inweek()`. O primeiro argumento identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 14 de janeiro, que é a `base_date`. O argumento `base_date` funciona com a variável de sistema `FirstWeekDay` para identificar a semana comparadora. Um `period_no` de `0` é o argumento final.

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 15 de janeiro fornecendo o período válido para o cálculo de `inweek()`:

Diagrama do calendário com o intervalo da função `inweek()` destacado

Diagrama do calendário com o intervalo da função `inweek()` destacado

Diagrama do calendário com o intervalo da função `inweek()`inweek() destacado ![Diagrama de um calendário mostrando um mês, com as datas de 9 a 15 destacadas em verde. 9 é domingo e 15 é sábado.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweek-example1-diagram.png)

Qualquer transação que ocorra entre 9 e 15 de janeiro retorna um resultado booleano de `TRUE`.

## Exemplo 5: Cenário

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweek.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 que é carregado em uma tabela denominada “Products”.

* A tabela contém os seguintes campos:

  * ID do produto

  * tipo de produto

  * data de fabricação

  * 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 usuário final gostaria de um gráfico que exibisse, por semana, o status de quais produtos fabricados estavam “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,'01/02/2022',37.23 
8189,'01/05/2022',17.17 
8190,'01/06/2022',88.27 
8191,'01/08/2022',57.42 
8192,'01/09/2022',53.80 
8193,'01/10/2022',82.06 
8194,'01/11/2022',40.39 
8195,'01/12/2022',87.21 
8196,'01/13/2022',95.93 
8197,'01/14/2022',45.89 
8198,'01/15/2022',36.23 
8199,'01/16/2022',25.66 
8200,'01/17/2022',82.77 
8201,'01/18/2022',69.98 
8202,'01/26/2022',76.11 
8203,'01/27/2022',25.12 
8204,'01/28/2022',46.23 
8205,'01/29/2022',84.21 
8206,'01/30/2022',96.24 
8207,'01/31/2022',67.67 
]; 
```

Resultados

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

* =weekname(manufacture\_date)

Crie as seguintes medidas:

* =if(only(inweek(manufacture\_date,makedate(2022,01,12),0)),'Defective','Faultless'), para identificar quais produtos estão com defeito e quais estão sem defeito usando a função inweek().

* =sum(cost\_price), para mostrar a soma do custo de cada produto.

Faça o seguinte:

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

2. Em Aparência, desative Totais.

Tabela de resultados

| weekname(manufacture\_date) | =if(only(inweek(manufacture\_date,makedate(2022,01,12),0)), 'Defective','Faultless') | Sum(cost\_price) |
| --- | --- | --- |
| 2022/02 | Sem falhas | 200.09 |
| 2022/03 | Com defeito | 441.51 |
| 2022/04 | Sem falhas | 178.41 |
| 2022/05 | Sem falhas | 231.67 |
| 2022/06 | Sem falhas | 163.91 |

A função inweek() retorna um valor booleano ao avaliar as datas de fabricação de cada um dos produtos. Para qualquer produto fabricado na semana de 12 de janeiro, a função inweek() retorna um valor booleano de TRUE e marca os produtos como “Defective”. Para qualquer produto que retorne um valor de FALSE e, portanto, não fabricado naquela semana, ela marca os produtos como “Faultless”.