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

Esta função retornará True se timestamp estiver na parte da parte do ano que contém base\_date até e inclusive o último milissegundo de base\_date.

Sintaxe:

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

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 inyeartodate

Diagrama da função inyeartodate

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

A função `inyeartodate()` segmentará uma parte específica do ano com a `base_date`, identificando a data máxima permitida para esse segmento de ano. Em seguida, a função avalia se um campo ou valor de data se enquadra nesse segmento e retorna um resultado booleano.

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

## Quando usar inyeartodate

A função `inyeartodate()` retorna um resultado booleano. Normalmente, esse tipo de função será usado como uma condição em uma expressão `if`. Isso retornaria uma agregação ou um cálculo dependendo de uma data avaliada ter ocorrido no ano até e incluindo a data em questão.

Por exemplo, a função `inyeartodate()` pode ser usada para identificar todos os equipamentos fabricados em um ano até uma data específica.

Esses exemplos usam o formato de data MM/DD/AAAA. O formato de data é especificado no comando `SET DateFormat` na parte superior do seu script de carregamento de dados. Altere o formato nos exemplos para atender às suas necessidades.

Exemplos de funções

| Exemplo | Resultado |
| --- | --- |
| `inyeartodate ('01/25/2013', '02/01/2013', 0)` | Retorna `TRUE`. |
| `inyeartodate ('01/25/2012', '01/01/2013', 0)` | Retorna `FALSE`. |
| `inyeartodate ('01/25/2012', '02/01/2013', -1)` | Retorna `TRUE`. |
| `inyeartodate ('11/25/2012', '01/31/2013', 0, 4)` | Retorna `TRUE`.<br>O valor de `timestamp` cai no ano fiscal que começa no quarto mês e antes do valor de `base_date`. |
| `inyeartodate ('3/31/2013', '01/31/2013', 0, 4 )` | Retorna `FALSE`.<br>Comparado com o exemplo anterior, o valor de `timestamp` ainda está dentro do ano fiscal, mas é depois que o valor de `base_date`, assim, fica fora de parte do ano. |

## 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 carga 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. Para obter mais informações, consulte [Modificando configurações regionais para aplicativos e scripts](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

As configurações regionais padrão nos aplicativos são baseadas no perfil do usuário. Essas configurações de formato regional não estão relacionadas ao idioma exibido na interface do usuário do Qlik Cloud. O Qlik Cloud será exibido no mesmo idioma do navegador que você está usando.

Se você for um criador de aplicativos, poderá definir a região padrão para os aplicativos que criar. Para obter mais informações, consulte [Definir suas configurações regionais preferidas para criar aplicativos e scripts no Qlik Cloud Analytics](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Exemplo 1: Sem argumentos adicionais

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

* O campo de data fornecido no formato da `variável` de sistema DateFormat (MM/DD/AAAA).

* A criação de um campo, `in_year_to_date`, que determina quais transações ocorreram no ano até 26 de julho de 2021.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0) as in_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

Tabela de resultados

| data | in\_year\_to\_date |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

O campo `in_year_to_date` é criado na instrução de carregamento anterior usando a função `inyeartodate()`. O primeiro argumento fornecido identifica qual campo está sendo avaliado.

O segundo argumento é uma data codificada para 26 de julho de 2021, que é a `base_date` que identifica o limite final do segmento de ano. O `period_no` de 0 é o argumento final, o que significa que a função não está comparando anos anteriores ou posteriores ao ano segmentado.

Diagrama da função inyeartodate, sem argumentos adicionais

Diagrama da função inyeartodate, sem argumentos adicionais

Diagrama da função inyeartodate, sem argumentos adicionais ![Diagrama mostrando o intervalo de datas para o qual a função inyeartodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-no-additional-arguments.png)

Qualquer transação que ocorra entre 1º e 26 de janeiro retorna um resultado booleano de `TRUE`. Datas de transações anteriores a 2021 e após 26 de julho de 2021 retornam `FALSE`.

## Exemplo 2 – period\_no

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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, `previous_year_to_date`, que determina quais transações ocorreram um ano inteiro antes do término do segmento de ano em 26 de julho de 2021.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', -1) as previous_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

Tabela de resultados

| data | previous\_year\_to\_date |
| --- | --- |
| 01/13/2020 | -1 |
| 02/26/2020 | -1 |
| 03/27/2020 | -1 |
| 04/16/2020 | -1 |
| 05/21/2020 | -1 |
| 06/14/2020 | -1 |
| 08/07/2020 | 0 |
| 09/05/2020 | 0 |
| 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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Um valor de `period_no` -1 indica que a função `inyeartodate ()` compara o segmento de trimestre de entrada com o ano anterior. Com uma data de entrada de 26 de julho de 2021, o segmento de 1º de janeiro de 2021 a 26 de julho de 2021 foi inicialmente identificado como o acumulado do ano. `period_no` então desloca esse segmento em um ano inteiro antes, fazendo com que os limites de data se tornem de 1º de janeiro a 26 de julho de 2020.

Diagrama da função inyeartodate, exemplo de period\_no

Diagrama da função inyeartodate, exemplo de period\_no

Diagrama da função inyeartodate, exemplo de period\_no ![Diagrama mostrando o intervalo de datas para o qual a função inyeartodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-period-no.png)

Portanto, qualquer transação que ocorra entre 1º de janeiro e 26 de julho de 2020 retornará um resultado booleano de `TRUE`.

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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_year_to_date`, que determina quais transações ocorreram no mesmo ano até 26 de julho de 2021.

Neste exemplo, definimos março como o primeiro mês do ano fiscal.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0,3) as in_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

Tabela de resultados

| data | in\_year\_to\_date |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Usando 3 como o argumento `first_month_of_year` na função `inyeartodate()`, a função começa o ano em 1º de março. A `base_date` de 26 de julho de 2021 define a data de término para esse segmento de ano.

Diagrama da função inyeartodate, exemplo de first\_month\_of\_year

Diagrama da função inyeartodate, exemplo de first\_month\_of\_year

Diagrama da função inyeartodate, exemplo de first\_month\_of\_year ![Diagrama mostrando o intervalo de datas para o qual a função inyeartodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-first-mth-yr.png)

Portanto, qualquer transação que ocorra entre 1º de março e 26 de julho de 2021 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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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 no mesmo ano até 26 de julho de 2021 é criado como uma medida em um objeto de gráfico no 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,'06/14/2020',82.06 
8194,'08/07/2020',40.39 
8195,'09/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,'07/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.

Crie a seguinte medida:

=inyeartodate(date,'07/26/2021', 0)

Tabela de resultados

| data | =inyeartodate(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 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

A medida in\_year\_to\_date é criada no objeto de gráfico usando a função inyeartodate(). O primeiro argumento fornecido identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 26 de julho de 2021, que é a base\_date que identifica o limite final do segmento de ano comparador. O period\_no de 0 é o argumento final, o que significa que a função não está comparando anos anteriores ou posteriores ao ano segmentado.

Diagrama da função inyeartodate, exemplo de objeto de gráfico

Diagrama da função inyeartodate, exemplo de objeto de gráfico

Diagrama da função inyeartodate, exemplo de objeto de gráfico ![Diagrama mostrando o intervalo de datas para o qual a função inyeartodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-chart-object.png)

Qualquer transação que ocorra entre 1º de janeiro e 26 de julho de 2021 retorna um resultado booleano de TRUE. Datas da transação antes de 2021 e depois de 26 de julho de 2021 retornam FALSE.

## Exemplo 5: Cenário

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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 ID do produto, tipo de produto, data de fabricação e 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 até 26 de julho.

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.

Crie uma medida que calcule a soma de cada produto que foi fabricado em 2021, antes de 27 de julho:

=sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0))

Defina o Formato numérico da medida como Dinheiro.

Tabela de resultados

| product\_type | =sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0)) |
| --- | --- |
| produto A | $95.93 |
| produto B | $128.66 |
| produto C | $61.89 |
| produto D | $146.09 |

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

O produto D é o único que também foi fabricado após 26 de julho de 2021. A entrada com product\_ID 8203 foi fabricada em 27 de dezembro e custou $ 25,12. Portanto, esse custo não foi incluído no total do Produto D no objeto de gráfico.