# 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/November2025/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 em que 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 interface do usuário do Qlik Sense. O 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/November2025/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/November2025/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/November2025/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/November2025/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.