# addyears - Função de script e de gráfico

Essa função retorna a data ocorrendo n anos após startdate ou, se n for negativo, a data ocorrendo n anos antes de startdate.

Sintaxe:

AddYears(startdate, n)

Tipo de dados de retorno: dual

Exemplo de diagrama da função `addyears()`

Exemplo de diagrama da função `addyears()`

Exemplo de diagrama da função `addyears()`addyears() ![Diagrama de exemplo mostrando como os vários componentes da função addyears se unem para produzir uma data de saída.](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-addyears_overview.png)

A função `addyears()` soma ou subtrai um número definido de anos, `n`, de uma `startdate`. Em seguida, ela retorna a data resultante.

Argumentos

| Argumento | Descrição |
| --- | --- |
| startdate | A data de início como um carimbo de data/hora, como “12/10/2012”. |
| n | Número de anos como um número inteiro positivo ou negativo. |

Exemplos de funções

| Exemplo | Resultado |
| --- | --- |
| `addyears ('01/29/2010',3)` | Retorna "01/29/2013". |
| `addyears ('01/29/2010',-1)` | Retorna "01/29/2009". |

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

## Exemplo 1: Exemplo simples

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addyears.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, `two_years_later`, que retorna a data de dois anos após a transação ter ocorrido.

Script de carregamento

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

Transactions:
    Load
        *,
        addyears(date,2) as two_years_later
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/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,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/2022',67.67
];
```

Resultados

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

* `date`

* `two_years_later`

Tabela de resultados

| data | two\_years\_later |
| --- | --- |
| 01/10/2020 | 01/10/2022 |
| 02/28/2020 | 02/28/2022 |
| 04/09/2020 | 04/09/2022 |
| 04/16/2020 | 04/16/2022 |
| 05/21/2020 | 05/21/2022 |
| 08/14/2020 | 08/14/2022 |
| 10/07/2020 | 10/07/2022 |
| 12/05/2020 | 12/05/2022 |
| 01/22/2021 | 01/22/2023 |
| 02/03/2021 | 02/03/2023 |
| 03/17/2021 | 03/17/2023 |
| 04/23/2021 | 04/23/2023 |
| 05/04/2021 | 05/04/2023 |
| 06/30/2021 | 06/30/2023 |
| 07/26/2021 | 07/26/2023 |
| 12/27/2021 | 12/27/2023 |
| 02/02/2022 | 02/02/2024 |
| 02/26/2022 | 02/26/2024 |
| 03/07/2022 | 03/07/2024 |
| 03/11/2022 | 03/11/2024 |

O campo `two_years_later` é criado na instrução de carregamento anterior usando a função `addyears()`. O primeiro argumento fornecido identifica qual data está sendo avaliada. O segundo argumento é o número de anos a serem adicionados ou subtraídos da data de início. Nesse caso, o valor de 2 é fornecido.

Diagrama da função `addyears()`, exemplo básico

Diagrama da função `addyears()`, exemplo básico

Diagrama da função `addyears()`addyears(), exemplo básico![Diagrama da função addyears mostrando como a Transação 8193 do script de carregamento é convertida de uma data de entrada em uma data de saída resultante.](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-addyears-examples-basic.png)

A transação 8193 ocorreu em 14 de agosto de 2020. Portanto, a função `addyears()` retorna 14 de agosto de 2022 para o campo `two_years_later`.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addyears.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 contendo um conjunto de transações entre 2020 e 2022, que é carregado em uma tabela chamada `Transactions`.

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

Em um objeto de gráfico, crie uma medida, `prior_year_date`, que retorna a data um ano antes da transação.

Script de carregamento

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

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/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,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/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 medida a seguir para calcular a data um ano antes de cada transação:

`=addyears(date,-1)`

Tabela de resultados

| data | =addyears(date,-1) |
| --- | --- |
| 01/10/2020 | 01/10/2019 |
| 02/28/2020 | 02/28/2019 |
| 04/09/2020 | 04/09/2019 |
| 04/16/2020 | 04/16/2019 |
| 05/21/2020 | 05/21/2019 |
| 08/14/2020 | 08/14/2019 |
| 10/07/2020 | 10/07/2019 |
| 12/05/2020 | 12/05/2019 |
| 01/22/2021 | 01/22/2020 |
| 02/03/2021 | 02/03/2020 |
| 03/17/2021 | 03/17/2020 |
| 04/23/2021 | 04/23/2020 |
| 05/04/2021 | 05/04/2020 |
| 06/30/2021 | 06/30/2020 |
| 07/26/2021 | 07/26/2020 |
| 12/27/2021 | 12/27/2020 |
| 02/02/2022 | 02/02/2021 |
| 02/26/2022 | 02/26/2021 |
| 03/07/2022 | 03/07/2021 |
| 03/11/2022 | 03/11/2021 |

A medida `one_year_prior` é criada no objeto de gráfico usando a função `addyears()`. O primeiro argumento fornecido identifica qual data está sendo avaliada. O segundo argumento é o número de anos para adicionar ou subtrair de `  startdate `. Nesse caso, o valor de -1 é fornecido.

Diagrama da função `addyears()`, exemplo de objeto de gráfico

Diagrama da função `addyears()`, exemplo de objeto de gráfico

Diagrama da função `addyears()`addyears(), exemplo de objeto de gráfico![Diagrama da função addyears mostrando como a Transação 8193 do script de carregamento é convertida de uma data de entrada em uma data de saída resultante.](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-addyears-examples-chart-object.png)

A transação 8193 ocorreu em 14 de agosto. Portanto, a função `addyears()` retorna 14 de agosto de 2019 para o campo `one_year_prior`.

## Exemplo 3: Cenário

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

* Informações com a ID do produto, a data de compra, a duração da garantia e o preço de compra.

O usuário final deseja um objeto de gráfico que mostre, por ID de produto, a data de rescisão da garantia de cada produto.

Script de carregamento

```
Warranties:
Load
*
Inline 
[
product_id,purchase_date,warranty_length,purchase_price
8188,'01/13/2020',4,32000
8189,'02/26/2020',2,28000
8190,'03/27/2020',3,41000
8191,'04/16/2020',4,17000
8192,'05/21/2020',2,25000
8193,'08/14/2020',1,59000
8194,'10/07/2020',2,12000
8195,'12/05/2020',3,12000
8196,'01/22/2021',4,24000
8197,'02/03/2021',1,50000
8198,'03/17/2021',2,80000
8199,'04/23/2021',3,10000
8200,'05/04/2021',4,30000
8201,'06/30/2021',3,30000
8202,'07/26/2021',4,20000
8203,'12/27/2021',4,10000
8204,'06/06/2022',2,25000
8205,'07/18/2022',1,32000
8206,'11/14/2022',1,30000
8207,'12/12/2022',4,22000
];
```

Resultados

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

* `product_id`

* `purchase_date`

* `warranty_length`

Crie a seguinte medida para calcular a data de término da garantia de cada produto:

`=addyears(purchase_date,warranty_length)`

Tabela de resultados

| product\_id | purchase\_date | warranty\_length | =addyears(purchase\_date,warranty\_length) |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 4 | 01/13/2024 |
| 8189 | 02/26/2020 | 2 | 02/26/2022 |
| 8190 | 03/27/2020 | 3 | 03/27/2023 |
| 8191 | 04/16/2020 | 4 | 04/16/2024 |
| 8192 | 05/21/2020 | 2 | 05/21/2022 |
| 8193 | 08/14/2020 | 1 | 08/14/2021 |
| 8194 | 10/07/2020 | 2 | 10/07/2022 |
| 8195 | 12/05/2020 | 3 | 12/05/2023 |
| 8196 | 01/22/2021 | 4 | 01/22/2025 |
| 8197 | 02/03/2021 | 1 | 02/03/2022 |
| 8198 | 03/17/2021 | 2 | 03/17/2023 |
| 8199 | 04/23/2021 | 3 | 04/23/2024 |
| 8200 | 05/04/2021 | 4 | 05/04/2025 |
| 8201 | 06/30/2021 | 3 | 06/30/2024 |
| 8202 | 07/26/2021 | 4 | 07/26/2025 |
| 8203 | 12/27/2021 | 4 | 12/27/2025 |
| 8204 | 06/06/2022 | 2 | 06/06/2024 |
| 8205 | 07/18/2022 | 1 | 07/18/2023 |
| 8206 | 11/14/2022 | 1 | 11/14/2023 |
| 8207 | 12/12/2022 | 4 | 12/12/2026 |