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

Essa função retorna o ano ao qual o número da semana pertence, de acordo com as variáveis de ambiente. O número da semana varia entre 1 e cerca de 52.

weekyear(timestamp [, first\_week\_day [, broken\_weeks [, reference\_day]]])

Tipo de dados de retorno: Inteiro

Argumentos

| Argumento | Descrição |
| --- | --- |
| timestamp | A data ou o carimbo de data/hora a ser avaliado. |
| first\_week\_day | Especifica o dia no qual inicia a semana. Se omitido, o valor da variávelFirstWeekDay será usado.<br><br>Os valores possíveis first\_week\_day são 0 para segunda-feira, 1 para terça, 2 para quarta-feira, 3 para quinta-feira, 4 para sexta-feira, 5 para sábado e 6 para domingo.<br><br><br>Para obter mais informações sobre a variável de sistema, consulte [FirstWeekDay](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm). |
| broken\_weeks | Se você não especificar broken\_weeks, o valor da variável BrokenWeeks será usado para definir se as semanas são quebradas ou não.<br><br><br>Para obter mais informações sobre a variável de sistema, consulte<br>[BrokenWeeks](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm) |
| reference\_day | Se você não especificar reference\_day, o valor da variável ReferenceDay será usado para definir qual dia de janeiro definir como dia de referência para definir a semana 1. Por padrão, as funções do Qlik Sense usam 4 como o dia de referência. Isso significa que a semana 1 deve conter 4 de janeiro, ou dito de outra forma, que a semana 1 deve sempre ter pelo menos 4 dias em janeiro.<br><br><br>Para obter mais informações sobre a variável de sistema, consulte<br>[ReferenceDay](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm) |

A função `weekyear()` determina em qual semana do ano uma data se enquadra. Em seguida, ele retorna o ano correspondente a esse número da semana.

Se `BrokenWeeks` estiver definido como `0` (false), `weekyear()` retornará o mesmo que `year()`.

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

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

Diagrama do intervalo da função `weekyear()`weekyear() ![Diagram that shows the range of time that the weekyear() function evaluates. The weekyear() identifies the year that a week number took place in.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram1.png)

No entanto, se variável de sistema `BrokenWeeks` estiver configurada para usar semanas ininterruptas, a semana 1 deverá conter apenas um determinado número de dias em janeiro com base no valor especificado na variável de sistema `ReferenceDay`.

Por exemplo, se um valor `ReferenceDay` de `4` for usado, a semana 1 deverá incluir pelo menos quatro dias em janeiro. É possível que a semana 1 inclua datas em dezembro do ano anterior ou que o número da última semana de um ano inclua datas em janeiro do ano seguinte. Em situações como essa, a função `weekyear()` retornará um valor diferente para a função `year()`.

Diagrama do intervalo da função `weekyear()` ao usar semanas ininterruptas

Diagrama do intervalo da função `weekyear()` ao usar semanas ininterruptas

Diagrama do intervalo da função `weekyear()`weekyear() ao usar semanas ininterruptas ![Diagram that shows how the weekyear() function works with unbroken weeks. If unbroken weeks are used, the weekyear() function will return a different value than the year() function.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram2.png)

Quando usar

A função `weekyear()` é útil quando você deseja comparar agregações por anos. Por exemplo, se você quiser ver o total de vendas de produtos por ano. A função `weekyear()` é escolhida no lugar de `year()` quando o usuário deseja manter a consistência com a variável de sistema `BrokenWeeks` no aplicativo.

## 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 |
| --- | --- |
| `weekyear('12/30/1996',0,0,4)` | Retorna 1997, porque a semana 1 de 1997 começa em 30/12/1996 |
| `weekyear('01/02/1997',0,0,4)` | Retorna 1997 |
| `weekyear('12/28/1997',0,0,4)` | Retorna 1997 |
| `weekyear('12/30/1997',0,0,4)` | Retorna 1998, porque a semana 1 de 1998 começa em 29/12/1997 |
| `weekyear('01/02/1999',0,0,4)` | Retorna 1998, porque a semana 53 de 1998 termina em 03/01/1999 |

Tópicos relacionados

| Tópico | Interação |
| --- | --- |
| [week Função de script e de gráfico](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/week.htm) | Retorna um número inteiro representando o número da semana de acordo com o ISO 8601 |
| [year Função de script e de gráfico](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | Retorna um número inteiro que representa o ano em que a expressão é interpretada como uma data, de acordo com a interpretação de número padrão. |

## Exemplo 1 - Semanas interrompidas

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.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 da última semana de 2020 e da primeira semana de 2021 que é carregado em uma tabela denominada "`Transactions`",

* A variável `BrokenWeeks` que é definida como 1.

* Um carregamento anterior que contém o seguinte:

  * A `weekyear()` função, definida como o campo '`week_year`' que retorna o ano em que as transações ocorreram.

  * A função `week()`, definida como o campo "`week`", que mostra o número da semana de cada data da transação.

Script de carregamento

```
SET BrokenWeeks=1; 
						
Transactions: 
	Load 
       *, 
       week(date) as week, 
       weekyear(date) as week_year 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

Resultados

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

* `id`
* `date`
* `week`
* `week_year`

Tabela de resultados

| ID | Data | semana | week\_year |
| --- | --- | --- | --- |
| 8176 | 12/28/2020 | 53 | 2020 |
| 8177 | 12/29/2020 | 53 | 2020 |
| 8178 | 12/30/2020 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 1 | 2021 |
| 8181 | 01/02/2021 | 1 | 2021 |
| 8182 | 01/03/2021 | 2 | 2021 |
| 8183 | 01/04/2021 | 2 | 2021 |
| 8184 | 01/05/2021 | 2 | 2021 |
| 8185 | 01/06/2021 | 2 | 2021 |
| 8186 | 01/07/2021 | 2 | 2021 |

O campo "`week_year`" é criado na instrução de carregamento anterior usando a função `weekyear()` e transmitindo o campo de data como o argumento da função.

A variável de sistema `BrokenWeeks` está definida como `1`, significando que o aplicativo usa semanas interruptas. A semana 1 começa em 1º de janeiro.

Diagrama do intervalo da função `weekyear()` com o uso de semanas interrompidas

Diagrama do intervalo da função `weekyear()` com o uso de semanas interrompidas

Diagrama do intervalo da função `weekyear()`weekyear() com o uso de semanas interrompidas ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

A transação 8181 ocorre em 2 de janeiro, que faz parte da semana 1. Portanto, retorna o valor de 2021 para o campo ‘`week_year`’.

## Exemplo 2 - Semanas ininterruptas

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.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 da última semana de 2020 e da primeira semana de 2021 que é carregado em uma tabela denominada "`Transactions`".

* A variável `BrokenWeeks`, que está definida como `0`.

* Um carregamento anterior que contém o seguinte:

  * A função `weekyear()`, definida como o campo "`week_year`", que retorna o ano em que as transações ocorreram.

  * A função `week()`, definida como o campo "`week`", que mostra o número da semana de cada data da transação.

No entanto, neste exemplo, a política da empresa é usar semanas ininterruptas.

Script de carregamento

```
SET BrokenWeeks=0; 
						
Transactions: 
	Load 
       *, 
       week(date) as week, 
       weekyear(date) as week_year 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

Resultados

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

* `id`
* `date`
* `week`
* `week_year`

Tabela de resultados

| ID | Data | semana | week\_year |
| --- | --- | --- | --- |
| 8176 | 12/28/2020 | 53 | 2020 |
| 8177 | 12/29/2020 | 53 | 2020 |
| 8178 | 12/30/2020 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 53 | 2020 |
| 8181 | 01/02/2021 | 53 | 2020 |
| 8182 | 01/03/2021 | 1 | 2021 |
| 8183 | 01/04/2021 | 1 | 2021 |
| 8184 | 01/05/2021 | 1 | 2021 |
| 8185 | 01/06/2021 | 1 | 2021 |
| 8186 | 01/07/2021 | 1 | 2021 |

A variável de sistema `BrokenWeeks` está definida como `0`, significando que o aplicativo usa semanas ininterruptas. Portanto, a semana 1 não precisa começar em 1º de janeiro.

A semana 53 de 2020 continua até o final de 2 de janeiro de 2021, com a semana 1 de 2020 começando no domingo, 3 de janeiro de 2021.

Diagrama do intervalo da função `weekyear()` com o uso de semanas ininterruptas

Diagrama do intervalo da função `weekyear()` com o uso de semanas ininterruptas

Diagrama do intervalo da função `weekyear()`weekyear() com o uso de semanas ininterruptas ![Diagram that shows how the weekyear() function works with unbroken weeks and that week 53 has days in 2020 and 2021. Transaction 8181 takes place on January 2 but the weekyear() function identifies its year as 2020 because of the unbroken weeks.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-example2-diagram.png)

A transação 8181 ocorre em 2 de janeiro, que faz parte da semana 1. Portanto, retorna um valor de 2021 para o campo ‘`week_year`’.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.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. O cálculo que retorna o número da semana do ano em que as transações ocorreram é criado como uma medida em um gráfico no aplicativo.

Script de carregamento

```
SET BrokenWeeks=1; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

Resultados

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

* `id`
* `date`

Para calcular a semana em que uma transação ocorre, crie a seguinte medida:

* `=week(date)`

Para calcular o ano em que uma transação ocorre com base no número da semana, crie a seguinte medida:

* `=weekyear(date)`

Tabela de resultados

| ID | Data | semana | week\_year |
| --- | --- | --- | --- |
| 8176 | 12/28/2020 | 53 | 2020 |
| 8177 | 12/29/2020 | 53 | 2020 |
| 8178 | 12/30/2020 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 1 | 2021 |
| 8181 | 01/02/2021 | 1 | 2021 |
| 8182 | 01/03/2021 | 2 | 2021 |
| 8183 | 01/04/2021 | 2 | 2021 |
| 8184 | 01/05/2021 | 2 | 2021 |
| 8185 | 01/06/2021 | 2 | 2021 |
| 8186 | 01/07/2021 | 2 | 2021 |

O campo "`week_year`" é criado na instrução de carregamento anterior usando a função `weekyear()` e transmitindo o campo de data como o argumento da função.

A variável de sistema `BrokenWeeks` está definida como `1`, significando que o aplicativo usa semanas interrompidas. A semana 1 começa em 1º de janeiro.

Diagrama do intervalo da função `weekyear()` com o uso de semanas interrompidas

Diagrama do intervalo da função `weekyear()` com o uso de semanas interrompidas

Diagrama do intervalo da função `weekyear()`weekyear() com o uso de semanas interrompidas ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

A transação 8181 ocorre em 2 de janeiro, que faz parte da semana 1. Portanto, retorna o valor de 2021 para o campo ‘`week_year`’.

## Exemplo 4: Cenário

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.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 da última semana de 2020 e da primeira semana de 2021 que é carregado em uma tabela denominada "`Transactions`".

* A variável `BrokenWeeks`, que está definida como `0`. Isso significa que o aplicativo usará semanas ininterruptas.

* A variável `ReferenceDay`, que está definida como `2`. Isso significa que o ano começará em 2 de janeiro e conterá no mínimo dois dias em janeiro.

* A variável `FirstWeekDay`, que está definida como `1`. Isso significa que o primeiro dia da semana será terça-feira.

A política da empresa é usar semanas interrompidas. O usuário final gostaria de um gráfico que apresentasse o total de vendas por ano. O aplicativo usa semanas ininterruptas, com a semana 1 contendo no mínimo dois dias em janeiro.

Script de carregamento

```
SET BrokenWeeks=0; 
SET ReferenceDay=2; 
SET FirstWeekDay=1; 
 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42 
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela.

Para calcular o ano em que uma transação ocorre com base no número da semana, crie a seguinte medida:

* `=weekyear(date)`

Para calcular o total de vendas, crie a seguinte medida:

* `sum(amount)`

Defina o Formato numérico da medida como Dinheiro.

Tabela de resultados

| weekyear(date) | =sum(amount) |
| --- | --- |
| 2020 | 19.42 |
| 2021 | 373.37 |