Essa função retorna uma data calculada a partir do ano YYYY, da semana WW e do dia da semana D.
Sintaxe:
MakeWeekDate(YYYY [ , WW [ , D ] ])
Tipo de dados de retorno: dual
A função makeweekdate() está disponível como função de script e gráfico. Ela calculará a data com base nos parâmetros informados para a função. Se o parâmetro do dia da semana for omitido, a função retornará a data da segunda-feira daquela semana.
A função makeweekdate() não considera as variáveis de sistema BrokenWeek, ReferenceDay ou FirstWeekDay. A semana 1 começa na primeira segunda-feira de janeiro. Por exemplo, em 2022, a semana 1 começa em 3 de janeiro.
Argumentos
Argumento
Descrição
YYYY
O ano como um inteiro.
WW
A semana como um inteiro.
A semana pode ser positiva ou negativa e maior que 52 para retornar datas em anos diferentes.
D
O dia da semana como um inteiro.
Se nenhum dia da semana for indicado, assume-se 0 (segunda-feira). Os dias restantes da semana são atribuídos da seguinte forma: 1 para terça-feira, 2 para quarta-feira, 3 para quinta-feira, 4 para sexta-feira, 5 para sábado e 6 para domingo.
Quando usar
A função makeweekdate() normalmente seria usada no script para geração de dados, para gerar uma lista de datas ou criar datas em que o ano, a semana e o dia da semana são fornecidos nos dados de entrada.
Exemplos de funções
Exemplo
Resultado
makeweekdate(2014,6,6)
retorna 02/09/2014
makeweekdate(2014,6,1)
retorna 02/04/2014
makeweekdate(2014,6)
retorna 02/03/2014 (dia da semana 0 é exibido)
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: dia incluído
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 o total de vendas semanais para 2022 em uma tabela denominada Sales.
As datas das transações são fornecidas em três campos: year, week e sales.
Uma carga anterior, usada para criar uma medida end_of_week, usando a função makeweekdate() para retornar a data da sexta-feira dessa semana no formato MM/DD/AAAA.
Para provar que a data retornada é uma sexta-feira, a expressão end_of_week também é incluída na função weekday() para mostrar o dia da semana.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
transaction_year
transaction_week
end_of_week
week_day
Tabela de resultados
transaction_year
transaction_week
end_of_week
week_day
2022
01
01/07/2022
Fri
2022
02
01/14/2022
Fri
2022
03
01/21/2022
Fri
2022
04
01/28/2022
Fri
2022
05
02/04/2022
Fri
2022
06
02/11/2022
Fri
2022
07
02/18/2022
Fri
O campo end_of_week é criado na instrução de carregamento anterior usando a função makeweekdate(). Os campos transaction_year, transaction_week são informados pela função como argumentos de ano e semana. Um valor de 4 é usado para o argumento “day”.
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.
A função makeweekdate() e seus argumentos também são agrupados em uma função weekday() para retornar o campo week_day; e, como pode ser visto na tabela acima, o campo week_day mostra que essas datas ocorrem em uma sexta-feira.
Exemplo 2: dia excluído
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 os totais de vendas semanais para 2022 em uma tabela denominada Sales.
As datas das transações são fornecidas em três campos: year, week e sales.
Um carregamento anterior, usado para criar uma medida, first_day_of_week, usando a função makeweekdate(). Isso retornará a data de segunda-feira dessa semana no formato MM/DD/AAAA.
Para provar que a data retornada é uma segunda-feira, a expressão first_day_of_week também é incluída na função weekday() para mostrar o dia da semana.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
transaction_year
transaction_week
first_day_of_week
week_day
Tabela de resultados
transaction_year
transaction_week
first_day_of_week
week_day
2022
01
01/03/2022
Mon
2022
02
01/10/2022
Mon
2022
03
01/17/2022
Mon
2022
04
01/24/2022
Mon
2022
05
01/31/2022
Mon
2022
06
02/07/2022
Mon
2022
07
02/14/2022
Mon
O campo first_day_of_week é criado na instrução de carregamento anterior usando a função makeweekdate(). Os parâmetros transaction_year e transaction_week são informados como argumentos de função, e o parâmetro “day” é deixado em branco.
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.
A função makeweekdate() e seus argumentos também são agrupados em uma função weekday() para retornar o campo week_day. Como pode ser visto na tabela acima, o campo week_day mostra que essas datas ocorrem na segunda-feira (mesmo que a variável FirstWeekDay defina domingo como o primeiro dia da semana), porque o parâmetro “day” na função makeweekdate() foi deixado em branco.
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 os totais de vendas semanais para 2022 em uma tabela denominada Sales.
As datas das transações são fornecidas em três campos: year, week e sales.
Neste exemplo, um objeto de gráfico será usado para criar uma medida equivalente ao cálculo de end_of_week do primeiro exemplo. Essa medida usará a função makeweekdate() para retornar a data da sexta-feira daquela semana no formato MM/DD/AAAA.
Para provar que a data retornada é uma sexta-feira, uma segunda medida é criada para retornar o dia da semana.
Um campo equivalente a end_of_week é criado no objeto de gráfico como uma medida usando a função makeweekdate(). Os campos transaction_year e transaction_week são transmitidos como argumentos “year” e “week”. Um valor de 4 é usado para o argumento “day”.
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.
A função makeweekdate() e seus argumentos também são agrupados em uma função weekday() para retornar um cálculo equivalente ao do campo week_day do primeiro exemplo. Como pode ser visto na tabela acima, a última coluna à direita mostra que essas datas ocorrem em uma sexta-feira.
Exemplo 4: Cenário
Visão geral
Neste exemplo, crie uma lista de datas contendo todas as sextas-feiras do ano de 2022.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
Script de carregamento
SET DateFormat='MM/DD/YYYY';
Calendar:
load
*,
weekday(date) as weekday
where year(date)=2022;
load
makeweekdate(2022,recno()-2,4) as date
AutoGenerate 60;
Resultados
Tabela de resultados
date
weekday
01/07/2022
Fri
01/14/2022
Fri
01/21/2022
Fri
01/28/2022
Fri
02/04/2022
Fri
02/11/2022
Fri
02/18/2022
Fri
02/25/2022
Fri
03/04/2022
Fri
03/11/2022
Fri
03/18/2022
Fri
03/25/2022
Fri
04/01/2022
Fri
04/08/2022
Fri
04/15/2022
Fri
04/22/2022
Fri
04/29/2022
Fri
05/06/2022
Fri
05/13/2022
Fri
05/20/2022
Fri
05/27/2022
Fri
06/03/2022
Fri
06/10/2022
Fri
06/17/2022
Fri
Mais de 27 linhas
A função makeweekdate() localiza todas as sextas-feiras em 2022. Usar um parâmetro “week” de -2 garante que nenhuma data seja perdida. Finalmente, um carregamento anterior cria um campo weekday adicional para maior clareza, para mostrar que cada valor de date é uma sexta-feira.
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!