Esta função retorna uma data calculada a partir do ano YYYY, do mês MM e do dia DD.
Sintaxe:
MakeDate(YYYY [ , MM [ , DD ] ])
Tipo de dados de retorno: dual
Argumentos
Argumento
Descrição
YYYY
O ano como um inteiro.
MM
O mês como um inteiro. Se nenhum mês for indicado, 1 (janeiro) será assumido.
DD
O dia como um inteiro. Se nenhum dia for indicado, 1 (o primeiro) será assumido.
Quando usar
A função makedate() normalmente seria usada no script para geração de dados para gerar um calendário. Isso também pode ser usado quando o campo de data não está diretamente disponível como data, mas precisa de algumas transformações para extrair componentes de ano, mês e dia.
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 carga de dados. Altere o formato nos exemplos para atender às suas necessidades.
Exemplos de funções
Exemplo
Resultado
makedate(2012)
Retorna 01/01/2012.
makedate(12)
Retorna 01/01/2012.
makedate(2012,12)
Retorna 12/01/2012.
makedate(2012,2,14)
Retorna 02/14/2012.
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 básico
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 para 2018, que é carregado em uma tabela chamada Transactions.
O campo de data fornecido no formato da variável de sistema DateFormat (MM/DD/AAAA).
A criação de um campo, transaction_date, que retorna uma data no formato MM/DD/AAAA.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
transaction_year
transaction_month
transaction_day
transaction_date
Tabela de resultados
transaction_year
transaction_month
transaction_day
transaction_date
2018
08
30
08/30/2018
2018
09
07
09/07/2018
2018
09
16
09/16/2018
2018
09
22
09/22/2018
2018
09
23
09/23/2018
O campo transaction_date é criado na instrução de carregamento anterior usando a função makedate() e informando os campos ano, mês e dia como argumentos da função.
A função então combina e converte esses valores em um campo de data, retornando os resultados no formato da variável de sistema DateFormat.
Exemplo 2: Formato de data modificado
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:
O mesmo conjunto de dados e cenário do primeiro exemplo.
A criação de um campo, transaction_date, no formato DD/MM/AAAA sem modificar a variável de sistema DateFormat.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
transaction_year
transaction_month
transaction_day
transaction_date
Tabela de resultados
transaction_year
transaction_month
transaction_day
transaction_date
2018
08
30
30/08/2018
2018
09
07
07/09/2018
2018
09
16
16/09/2018
2018
09
22
22/09/2018
2018
09
23
23/09/2018
Nesse caso, a função makedate() está aninhada dentro da função date(). O segundo argumento da função date() define o formato dos resultados da função makedate() como o DD/MM/AAAA necessário.
Exemplo 3: 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 guia.
O script de carregamento contém:
Um conjunto de dados contendo um conjunto de transações para 2018, que é carregado em uma tabela chamada Transactions.
As datas da transação são fornecidas em dois campos: year e month.
Crie uma medida de objeto de gráfico, transaction_date, que retorna uma data no formato MM/DD/AAAA.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
year
month
Para determinar a transaction_date, crie essa medida:
=makedate(transaction_year,transaction_month)
Tabela de resultados
transaction_year
transaction_month
transaction_date
2018
08
08/01/2018
2018
09
09/01/2018
A medida transaction_date é criada no objeto de gráfico usando a função makedate() e informando os campos de ano e mês como argumentos da função.
A função então combina esses valores, bem como o valor do dia assumido de 01. Esses valores são então convertidos em um campo de data, retornando os resultados no formato da variável de sistema DateFormat.
Exemplo 4: Cenário
Visão geral
Crie um conjunto de dados do calendário para o ano civil de 2022.
Script de carregamento
SET DateFormat='MM/DD/YYYY';
Calendar:
load
*
where year(date)=2022;
load
date(recno()+makedate(2021,12,31)) as date
AutoGenerate 400;
Resultados
Tabela de resultados
date
01/01/2022
01/02/2022
01/03/2022
01/04/2022
01/05/2022
01/06/2022
01/07/2022
01/08/2022
01/09/2022
01/10/2022
01/11/2022
01/12/2022
01/13/2022
01/14/2022
01/15/2022
01/16/2022
01/17/2022
01/18/2022
01/19/2022
01/20/2022
01/21/2022
01/22/2022
01/23/2022
01/24/2022
01/25/2022
Mais de 340 linhas
A função makedate() cria um valor de data para 31 de dezembro de 2021. A função recno() fornece o número do registro atual que está sendo carregado na tabela, começando em 1. Portanto, o primeiro registro tem a data de 1º de janeiro de 2022. Cada recno() sucessiva então incrementará essa data em 1. Essa expressão é agrupada em uma função date() para converter o valor em uma data. Esse processo é repetido 400 vezes pela função autogenerate. Finalmente, usando um carregamento anterior, uma condição where pode ser usada para carregar somente datas do ano de 2022. Esse script gera um calendário contendo todas as datas de 2022.
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!