Esta função retorna um valor correspondente a um carimbo de data/hora com o último milissegundo do último dia do ano que contém date. O formato de saída padrão será o DateFormat definido no script.
Em outras palavras, a função yearend() determina em qual ano a data cai. Em seguida, ela retorna um carimbo de data/hora, em formato de data, para o último milissegundo daquele ano. O primeiro mês do ano é, por padrão, janeiro. No entanto, você pode alterar o mês definido como o primeiro usando o argumento first_month_of_year na função yearend().
Nota informativa A função yearend() não considera a variável de sistema FirstMonthOfYear. O ano começa em 1º de janeiro, a menos que o argumento first_month_of_year seja usado para alterá-lo.
Quando usar
A função yearend() é usada como parte de uma expressão quando você deseja que o cálculo use a fração do ano que ainda não ocorreu. Por exemplo, se você quiser calcular o total de juros ainda não acumulados durante o ano.
Tipo de dados de retorno: dual
Argumentos
Argumento
Descrição
date
A data ou o carimbo de data/hora a ser avaliado.
period_no
period_no é um inteiro, em que o valor 0 indica o ano que contém a 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
Month
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
yearend('10/19/2001')
Retorna 12/31/2001 23:59:59.
yearend('10/19/2001', -1)
Retorna 12/31/2000 23:59:59.
yearend('10/19/2001', 0, 4)
Retorna 03/31/2002 23:59:59.
Exemplo 1: Sem argumentos adicionais
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
Um conjunto de dados contendo um conjunto de transações entre 2020 e 2022 é carregado em uma tabela chamada "Transactions".
O campo de data foi fornecido no formato da variável de sistema DateFormat(MM/DD/YYYY).
Uma instrução de carregamento anterior que contém o seguinte:
Função yearend(), definida como o campo year_end.
Função Timestamp(), definida como o campo year_end_timestamp.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
id
date
year_end
year_end_timestamp
Tabela de resultados
id
date
year_end
year_end_timestamp
8188
01/13/2020
12/31/2020
12/31/2020 11:59:59 PM
8189
02/26/2020
12/31/2020
12/31/2020 11:59:59 PM
8190
03/27/2020
12/31/2020
12/31/2020 11:59:59 PM
8191
04/16/2020
12/31/2020
12/31/2020 11:59:59 PM
8192
05/21/2020
12/31/2020
12/31/2020 11:59:59 PM
8193
08/14/2020
12/31/2020
12/31/2020 11:59:59 PM
8194
10/07/2020
12/31/2020
12/31/2020 11:59:59 PM
8195
12/05/2020
12/31/2020
12/31/2020 11:59:59 PM
8196
01/22/2021
12/31/2021
12/31/2021 11:59:59 PM
8197
02/03/2021
12/31/2021
12/31/2021 11:59:59 PM
8198
03/17/2021
12/31/2021
12/31/2021 11:59:59 PM
8199
04/23/2021
12/31/2021
12/31/2021 11:59:59 PM
8200
05/04/2021
12/31/2021
12/31/2021 11:59:59 PM
8201
06/30/2021
12/31/2021
12/31/2021 11:59:59 PM
8202
07/26/2021
12/31/2021
12/31/2021 11:59:59 PM
8203
12/27/2021
12/31/2021
12/31/2021 11:59:59 PM
8204
06/06/2022
12/31/2022
12/31/2022 11:59:59 PM
8205
07/18/2022
12/31/2022
12/31/2022 11:59:59 PM
8206
11/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
12/12/2022
12/31/2022
12/31/2022 11:59:59 PM
O campo "year_end" é criado na instrução de carregamento anterior usando a função yearend() e transmitindo o campo de data como argumento da função.
A função yearend() identifica inicialmente em qual ano o valor da data cai e retorna um carimbo de data/hora para o último milissegundo daquele ano.
A transação 8199 ocorreu em 23 de abril de 2021. A função yearend() retorna o último milissegundo daquele ano, que é 31 de dezembro às 23:59:59.
Exemplo 2: period_no
Visão geral
São usados o mesmo conjunto de dados e cenário do primeiro exemplo.
No entanto, neste exemplo, a tarefa é criar um campo, "previous_year_end", que retorna o carimbo de data/hora de término do ano anterior ao ano em que uma transação ocorreu.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
id
date
previous_year_end
previous_ year_end_timestamp
Tabela de resultados
id
date
previous_year_end
previous_year_end_timestamp
8188
01/13/2020
12/31/2019
12/31/2019 11:59:59 PM
8189
02/26/2020
12/31/2019
12/31/2019 11:59:59 PM
8190
03/27/2020
12/31/2019
12/31/2019 11:59:59 PM
8191
04/16/2020
12/31/2019
12/31/2019 11:59:59 PM
8192
05/21/2020
12/31/2019
12/31/2019 11:59:59 PM
8193
08/14/2020
12/31/2019
12/31/2019 11:59:59 PM
8194
10/07/2020
12/31/2019
12/31/2019 11:59:59 PM
8195
12/05/2020
12/31/2019
12/31/2019 11:59:59 PM
8196
01/22/2021
12/31/2020
12/31/2020 11:59:59 PM
8197
02/03/2021
12/31/2020
12/31/2020 11:59:59 PM
8198
03/17/2021
12/31/2020
12/31/2020 11:59:59 PM
8199
04/23/2021
12/31/2020
12/31/2020 11:59:59 PM
8200
05/04/2021
12/31/2020
12/31/2020 11:59:59 PM
8201
06/30/2021
12/31/2020
12/31/2020 11:59:59 PM
8202
07/26/2021
12/31/2020
12/31/2020 11:59:59 PM
8203
12/27/2021
12/31/2020
12/31/2020 11:59:59 PM
8204
06/06/2022
12/31/2021
12/31/2021 11:59:59 PM
8205
07/18/2022
12/31/2021
12/31/2021 11:59:59 PM
8206
11/14/2022
12/31/2021
12/31/2021 11:59:59 PM
8207
12/12/2022
12/31/2021
12/31/2021 11:59:59 PM
Como um period_no de -1 foi usado como o argumento de deslocamento na função yearend(), a função primeiro identifica o ano em que as transações ocorrem. Em seguida, ela procura um ano antes e identifica o último milissegundo daquele ano.
A transação 8199 ocorre em 23 de abril de 2021. A função yearend() retorna o último milissegundo do ano anterior, 31 de dezembro de 2020 às 23:59:59, para o campo "previous_year_end".
Exemplo 3: first_month_of_year
Visão geral
São usados o mesmo conjunto de dados e cenário do primeiro exemplo.
No entanto, neste exemplo, a política da empresa é para o ano começar a partir de 1º de abril.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
id
date
year_end
year_end_timestamp
Tabela de resultados
id
date
year_end
year_end_timestamp
8188
01/13/2020
03/31/2020
3/31/2020 11:59:59 PM
8189
02/26/2020
03/31/2020
3/31/2020 11:59:59 PM
8190
03/27/2020
03/31/2020
3/31/2020 11:59:59 PM
8191
04/16/2020
03/31/2021
3/31/2021 11:59:59 PM
8192
05/21/2020
03/31/2021
3/31/2021 11:59:59 PM
8193
08/14/2020
03/31/2021
3/31/2021 11:59:59 PM
8194
10/07/2020
03/31/2021
3/31/2021 11:59:59 PM
8195
12/05/2020
03/31/2021
3/31/2021 11:59:59 PM
8196
01/22/2021
03/31/2021
3/31/2021 11:59:59 PM
8197
02/03/2021
03/31/2021
3/31/2021 11:59:59 PM
8198
03/17/2021
03/31/2021
3/31/2021 11:59:59 PM
8199
04/23/2021
03/31/2022
3/31/2022 11:59:59 PM
8200
05/04/2021
03/31/2022
3/31/2022 11:59:59 PM
8201
06/30/2021
03/31/2022
3/31/2022 11:59:59 PM
8202
07/26/2021
03/31/2022
3/31/2022 11:59:59 PM
8203
12/27/2021
03/31/2022
3/31/2022 11:59:59 PM
8204
06/06/2022
03/31/2023
3/31/2023 11:59:59 PM
8205
07/18/2022
03/31/2023
3/31/2023 11:59:59 PM
8206
11/14/2022
03/31/2023
3/31/2023 11:59:59 PM
8207
12/12/2022
03/31/2023
3/31/2023 11:59:59 PM
Como o argumento first_month_of_year de 4 é usado na função yearend(), ele define o primeiro dia do ano como 1º de abril e o último dia do ano como 31 de março.
A transação 8199 ocorre em 23 de abril de 2021. Como a função yearend() define o início do ano como 1º de abril, ela retorna 31 de março de 2022 como o valor "year_end" para a transação.
Exemplo 4: Exemplo de objeto 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 retorna o carimbo de data/hora de término do ano em que uma transação ocorreu é criado como uma medida em um objeto de gráfico do aplicativo.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
id
date
Para calcular em qual ano uma transação ocorreu, crie as seguintes medidas:
=yearend(date)
=timestamp(yearend(date))
Tabela de resultados
id
date
=yearend(date)
=timestamp(yearend(date))
8188
01/13/2020
12/31/2020
12/31/2020 11:59:59 PM
8189
02/26/2020
12/31/2020
12/31/2020 11:59:59 PM
8190
03/27/2020
12/31/2020
12/31/2020 11:59:59 PM
8191
04/16/2020
12/31/2020
12/31/2020 11:59:59 PM
8192
05/21/2020
12/31/2020
12/31/2020 11:59:59 PM
8193
08/14/2020
12/31/2020
12/31/2020 11:59:59 PM
8194
10/07/2020
12/31/2020
12/31/2020 11:59:59 PM
8195
12/05/2020
12/31/2020
12/31/2020 11:59:59 PM
8196
01/22/2021
12/31/2021
12/31/2021 11:59:59 PM
8197
02/03/2021
12/31/2021
12/31/2021 11:59:59 PM
8198
03/17/2021
12/31/2021
12/31/2021 11:59:59 PM
8199
04/23/2021
12/31/2021
12/31/2021 11:59:59 PM
8200
05/04/2021
12/31/2021
12/31/2021 11:59:59 PM
8201
06/30/2021
12/31/2021
12/31/2021 11:59:59 PM
8202
07/26/2021
12/31/2021
12/31/2021 11:59:59 PM
8203
12/27/2021
12/31/2021
12/31/2021 11:59:59 PM
8204
06/06/2022
12/31/2022
12/31/2022 11:59:59 PM
8205
07/18/2022
12/31/2022
12/31/2022 11:59:59 PM
8206
11/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
12/12/2022
12/31/2022
12/31/2022 11:59:59 PM
A medida "end_of_year" é criada no objeto de gráfico usando a função yearend() e transmitindo o campo de data como argumento da função.
A função yearend() identifica inicialmente em qual ano o valor da data cai, retornando um carimbo de data/hora para o último milissegundo daquele ano.
A transação 8199 ocorre em 23 de abril de 2021. A função yearend() retorna o último milissegundo daquele ano, que é 31 de dezembro às 23:59:59.
Exemplo 5: Cenário
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
Um conjunto de dados é carregado em uma tabela chamada "Employee_Expenses". A tabela contém os seguintes campos:
IDs de funcionários
nome do funcionário
reivindicações de despesas médias diárias de cada funcionário
O usuário final deseja um objeto de gráfico que mostre, por ID de funcionário e nome de funcionário, as reivindicações de despesas estimadas ainda a serem acumuladas para o restante do ano. O exercício financeiro começa em janeiro.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
employee_id
employee_name
Para calcular as reivindicações de despesas projetadas, crie a seguinte medida:
=(yearend(today(1))-today(1))*avg_daily_claim
Defina o Formato numérico da medida como Dinheiro.
Tabela de resultados
employee_id
employee_name
=(yearend(today(1))-today(1))*avg_daily_claim
182
Mark
$3240.00
183
Deryck
$2700.00
184
Dexter
$2700.00
185
Sydney
$5832.00
186
Agatha
$3888.00
Usando a data de hoje como o único argumento, a função yearend() retorna a data de término do ano atual. Em seguida, subtraindo a data de hoje da data de término do ano, a expressão retorna o número de dias restantes naquele ano.
Esse valor é então multiplicado pela média de solicitações de despesas diárias por cada funcionário para calcular o valor estimado das solicitações que cada funcionário deve fazer no ano restante.
Esta página ajudou?
Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!