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

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

Sintaxe:

InYear (timestamp, base\_date, period\_no [, first\_month\_of\_year])

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 `inyear()`

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

Diagrama do intervalo da função `inyear()`inyear() ![Diagrama que mostra o intervalo de tempo avaliado pela função inyear() e retornará um resultado booleano dependendo do posicionamento da data base.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-diagram1.png)

A função `inyear()` retorna um resultado booleano ao comparar os valores de data selecionados com um ano definido pela `base_date`.

Quando usar

A função `inyear()` retorna um resultado booleano. Normalmente, esse tipo de função será usado como uma condição em um `if expression`. Isso retorna uma agregação ou cálculo dependendo se uma data avaliada ocorreu no ano em questão. Por exemplo, a função `inyear()` pode ser usada para identificar todas as vendas que ocorreram em um ano definido.

Argumentos

| Argumento | Descrição |
| --- | --- |
| timestamp | A data que você deseja comparar com base\_date. |
| base\_date | Data que é usada para avaliar o ano. |
| period\_no | O ano pode ser deslocado por period\_no. period\_no é um inteiro, em que o valor 0 indica o ano que contém base\_date. Valores negativos em period\_no indicam anos precedentes e valores positivos indicam anos sucessivos. |
| first\_month\_of\_year | Se desejar trabalhar com anos (fiscais) que não comecem em janeiro, indique um valor entre 2 e 12 em first\_month\_of\_year. |

Você pode usar os seguintes valores para definir o primeiro mês do ano no argumento `first_month_of_year`:

Valores first\_month\_of\_year

| Mês | Valor |
| --- | --- |
| Fevereiro | 2 |
| Março | 3 |
| Abril | 4 |
| Maio | 5 |
| Junho | 6 |
| Julho | 7 |
| Agosto | 8 |
| Setembro | 9 |
| Outubro | 10 |
| Novembro | 11 |
| Dezembro | 12 |

## 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 |
| --- | --- |
| `inyear ('01/25/2013', '01/01/2013', 0 )` | Retorna TRUE |
| `inyear ('01/25/2012', '01/01/2013', 0)` | Retorna FALSE |
| `inyear ('01/25/2013', '01/01/2013', -1)` | Retorna FALSE |
| `inyear ('01/25/2012', '01/01/2013', -1 )` | Retorna TRUE |
| `inyear ('01/25/2013', '01/01/2013', 0, 3)` | Retorna TRUE<br><br>Os valores de `base_date` e `first_month_of_year` especificam que esse carimbo de data/hora deve estar entre 03/01/2012 e 28/02/2013 |
| `inyear ('03/25/2013', '07/01/2013', 0, 3 )` | Retorna TRUE |

## Exemplo 1: Exemplo básico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 entre 2020 e 2022, que é carregado em uma tabela denominada "`Transactions`".

* Um carregamento anterior que contém a função `inyear()` definida como o `campo` "in\_year" e determina quais transações ocorreram no mesmo ano de 26 de julho de 2021.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0) as in_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

Resultados

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

* `date`
* `in_year`

Tabela de resultados

| data | in\_year |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

O campo "`in_year`" é criado na instrução de carregamento anterior usando a função `inyear()`. O primeiro argumento identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 26 de julho de 2021, que é a `base_date` que determina o ano comparador. Um `period_no` de `0` é o argumento final, significando que a função `inyear()` não compara os anos anteriores ou posteriores ao ano.

Diagrama do intervalo da função `inyear()`com 26 de julho como data base

Diagrama do intervalo da função `inyear()`com 26 de julho como data base

Diagrama do intervalo da função `inyear()`inyear()com 26 de julho como data base ![O diagrama da função inyear() com 26 de julho como data base e o intervalo de tempo de 1º de janeiro de 2021 a 1º de janeiro de 2022 são destacados.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Qualquer transação que ocorra em 2021 retorna um resultado booleano de TRUE.

## Exemplo 2: period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 entre 2020 e 2022, que é carregado em uma tabela denominada "`Transactions`".

* Um carregamento anterior que contém a função `inyear()` definida como o campo "`previous_year`" e determina quais transações ocorreram no ano anterior ao ano que contém 26 de julho de 2021.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', -1) as previous_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

Resultados

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

* `date`
* `previous_year`

Tabela de resultados

| data | previous\_year |
| --- | --- |
| 01/13/2020 | -1 |
| 02/26/2020 | -1 |
| 03/27/2020 | -1 |
| 04/16/2020 | -1 |
| 05/21/2020 | -1 |
| 08/14/2020 | -1 |
| 10/07/2020 | -1 |
| 12/05/2020 | -1 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Usar `-1` como argumento `period_no` na função `inyear()` altera os limites do ano comparador em um ano inteiro. 2021 é inicialmente identificado como o ano comparador. `period_no` desloca o ano comparador em um, tornando 2020 o ano comparador.

Diagrama do intervalo da função `inyear()` com o argumento period\_no definido como `-1`

Diagrama do intervalo da função `inyear()` com o argumento period\_no definido como `-1`

Diagrama do intervalo da função `inyear()`inyear() com o argumento period\_no definido como `-1`-1 ![Diagrama da função inyear() com 26 de julho como data base e o argumento period_no definido como menos um.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example2-diagram.png)

Portanto, qualquer transação que ocorra em 2020 retorna um resultado booleano de TRUE.

## Exemplo 3: first\_month\_of\_year

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 entre 2020 e 2022, que é carregado em uma tabela denominada "`Transactions`".

* Um carregamento anterior que contém a função `inyear()` definida como o campo "`in_year`" e determina quais transações ocorreram no mesmo ano de 26 de julho de 2021.

No entanto, neste exemplo, a política organizacional é que março seja o primeiro mês do exercício financeiro.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0, 3) as in_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

Resultados

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

* `date`
* `in_year`

Tabela de resultados

| data | in\_year |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Usar `3` como argumento `first_month_of_year` na função `inyear()` começa o ano em 1º de março e termina no final de fevereiro.

Diagrama do intervalo da função `inyear()` com o mês de março definido como o primeiro mês do ano

Diagrama do intervalo da função `inyear()` com o mês de março definido como o primeiro mês do ano

Diagrama do intervalo da função `inyear()`inyear() com o mês de março definido como o primeiro mês do ano ![Diagrama da função inyear() com 26 de julho como data base e o primeiro mês do ano definido como março.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example3-diagram.png)

Portanto, qualquer transação que ocorra entre 1º de março de 2021 e 1º de março de 2022 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/inyear.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 determina se as transações ocorreram no mesmo ano de 26 de julho de 2021 é criado como uma medida em um objeto de gráfico do aplicativo.

Script de carregamento

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

Resultados

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

* `date`

Para calcular se as transações ocorreram no mesmo ano de 26 de julho de 2021, crie a seguinte medida:

* `=inyear(date,'07/26/2021', 0)`

Tabela de resultados

| data | =inyear(date,'07/26/2021',0) |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

O campo “`in_year`” é criado no gráfico usando a função `inyear()`. O primeiro argumento identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 26 de julho de 2021, que é a `base_date` que determina o ano comparador. Um `period_no` de `0` é o argumento final, significando que a função `inyear()` não compara os anos anteriores ou posteriores ao ano.

Diagrama do intervalo da função `inyear()`com 27 de julho como data base

Diagrama do intervalo da função `inyear()`com 27 de julho como data base

Diagrama do intervalo da função `inyear()`inyear()com 27 de julho como data base ![O diagrama da função inyear() com 27 de julho como data base e o intervalo de tempo de 1º de janeiro de 2021 a 1º de janeiro de 2022 são destacados.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Qualquer transação que ocorra em 2021 retorna um resultado booleano de TRUE.

## Exemplo 5: Cenário

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

O usuário final gostaria de um objeto de gráfico que exiba, por tipo de produto, o custo dos produtos fabricados em 2021.

Script de carregamento

```
Products: 
Load 
* 
Inline  
[ 
product_id,product_type,manufacture_date,cost_price 
8188,product A,'01/13/2020',37.23 
8189,product B,'02/26/2020',17.17 
8190,product B,'03/27/2020',88.27 
8191,product C,'04/16/2020',57.42 
8192,product D,'05/21/2020',53.80 
8193,product D,'08/14/2020',82.06 
8194,product C,'10/07/2020',40.39 
8195,product B,'12/05/2020',87.21
8196,product A,'01/22/2021',95.93 
8197,product B,'02/03/2021',45.89 
8198,product C,'03/17/2021',36.23 
8199,product C,'04/23/2021',25.66
8200,product B,'05/04/2021',82.77 
8201,product D,'06/30/2021',69.98 
8202,product D,'07/26/2021',76.11 
8203,product D,'12/27/2021',25.12 
8204,product C,'06/06/2022',46.23 
8205,product C,'07/18/2022',84.21 
8206,product A,'11/14/2022',96.24 
8207,product B,'12/12/2022',67.67 
]; 
```

Resultados

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

* product\_type

Para calcular a soma de cada produto que foi fabricado em 2021, crie a seguinte medida:

* =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0))

Faça o seguinte:

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

2. Em Aparência, desative Totais.

Tabela de resultados

| product\_type | =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0)) |
| --- | --- |
| produto A | $95.93 |
| produto B | $128.66 |
| produto C | $61.89 |
| produto D | $171.21 |

A função inyear() retorna um valor booleano ao avaliar as datas de fabricação de cada um dos produtos. Para qualquer produto fabricado em 2021, a função inyear() retorna um valor booleano de TRUE e mostra a soma de cost\_price.