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

A função addyears() soma ou subtrai um número definido de anos, n, de uma startdate. Em seguida, ela retorna a data resultante.
| 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. |
| 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 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.
Exemplo 1: Exemplo simples
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
| 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

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

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