Esta função retorna um valor de exibição que mostra o número do ano e da semana lunar que corresponde a data/hora do primeiro milissegundo do primeiro dia da semana lunar que contém a date. As semanas lunares no Qlik Sense são definidas contando 1º de janeiro como o primeiro dia da semana e, além da última semana do ano, conterão exatamente sete dias.
A função lunarweekname() determina em qual semana lunar a data cai, começando uma contagem de semanas a partir de 1º de janeiro. Em seguida, ela retorna um valor composto por year/weekcount.
Argumentos
Argumento
Descrição
date
A data ou o carimbo de data/hora a ser avaliado.
period_no
period_no é um inteiro ou uma expressão que resolve um inteiro em que o valor 0 indica a semana lunar que contém date. Valores negativos em period_no indicam semanas lunares precedentes e valores positivos indicam semanas lunares sucessivas.
first_week_day
Um deslocamento que pode ser maior ou menor que zero. Isso muda o início do ano por um número determinado de dias e/ou frações de um dia.
Quando usar
A função lunarweekname() é útil quando você deseja comparar agregações por semanas lunares. Por exemplo, a função pode ser usada para determinar o total de vendas de produtos por semana lunar. Semanas lunares são úteis quando você deseja garantir que todos os valores contidos na primeira semana do ano contenham apenas valores a partir de 1º de janeiro, no mínimo.
Essas dimensões podem ser criadas no script de carregamento usando a função para criar um campo em uma tabela de Calendário mestre. A função também pode ser usada diretamente em um gráfico como uma dimensão calculada.
Exemplos de funções
Exemplo
Resultado
lunarweekname('01/12/2013')
Retorna 2006/02.
lunarweekname('01/12/2013', -1)
Retorna 2006/01.
lunarweekname('01/12/2013', 0, 1)
Retorna 2006/02.
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: data 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 para 2022, 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, lunar_week_name, que retorna o número do ano e da semana lunar em que as transações ocorreram.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
date
lunar_week_name
Tabela de resultados
date
lunar_week_name
1/7/2022
2022/01
1/19/2022
2022/03
2/5/2022
2022/06
2/28/2022
2022/09
3/16/2022
2022/11
4/1/2022
2022/13
5/7/2022
2022/19
5/16/2022
2022/20
6/15/2022
2022/24
6/26/2022
2022/26
7/9/2022
2022/28
7/22/2022
2022/29
7/23/2022
2022/30
7/27/2022
2022/30
8/2/2022
2022/31
8/8/2022
2022/32
8/19/2022
2022/33
9/26/2022
2022/39
10/14/2022
2022/41
10/29/2022
2022/44
O campo lunar_week_name é criado na instrução de carregamento anterior usando a função lunarweekname() e transmitindo o campo date como o argumento da função.
A função lunarweekname() identifica em qual semana lunar o valor da data cai, retornando o número do ano e da semana dessa data.
A transação 8189 ocorreu em 19 de janeiro. A função lunarweekname() identifica que essa data cai na semana lunar que começa em 15 de janeiro; essa é a terceira semana lunar do ano. Portanto, o valor lunar_week_name retornado para essa transação é 2022/03.
Exemplo 2: data com o argumento period_no
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, previous_lunar_week_name, que retorna o número do ano e da semana da semana lunar anterior à data em que as transações ocorreram.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
date
previous_lunar_week_name
Tabela de resultados
date
previous_lunar_week_name
1/7/2022
2021/52
1/19/2022
2022/02
2/5/2022
2022/05
2/28/2022
2022/08
3/16/2022
2022/10
4/1/2022
2022/12
5/7/2022
2022/18
5/16/2022
2022/19
6/15/2022
2022/23
6/26/2022
2022/25
7/9/2022
2022/27
7/22/2022
2022/28
7/23/2022
2022/29
7/27/2022
2022/29
8/2/2022
2022/30
8/8/2022
2022/31
8/19/2022
2022/32
9/26/2022
2022/38
10/14/2022
2022/40
10/29/2022
2022/43
Nesse caso, como um period_no de -1 foi usado como argumento de compensação na função lunarweekname(), a função primeiro identifica a semana lunar em que as transações ocorreram. Em seguida, ele retorna o ano e o número de uma semana antes.
A transação 8189 ocorreu em 19 de janeiro. A função lunarweekname() identifica que essa transação ocorreu na terceira semana lunar do ano. Portanto, ela retorna o ano e o valor de uma semana antes, 2022/02, para o campo previous_lunar_week_name.
Exemplo 3: data com o argumento first_week_day
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. Neste exemplo, definimos que as semanas lunares devem começar em 5 de janeiro.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
date
lunar_week_name
Tabela de resultados
date
lunar_week_name
1/7/2022
2022/01
1/19/2022
2022/03
2/5/2022
2022/05
2/28/2022
2022/08
3/16/2022
2022/11
4/1/2022
2022/13
5/7/2022
2022/18
5/16/2022
2022/19
6/15/2022
2022/24
6/26/2022
2022/25
7/9/2022
2022/27
7/22/2022
2022/29
7/23/2022
2022/29
7/27/2022
2022/30
8/2/2022
2022/30
8/8/2022
2022/31
8/19/2022
2022/33
9/26/2022
2022/38
10/14/2022
2022/41
10/29/2022
2022/43
Nesse caso, como o argumento first_week_date de 4 é usado na função lunarweekname(), ele desloca o início das semanas lunares de 1º de janeiro a 5 de janeiro.
A transação 8188 ocorreu em 7 de janeiro. Como as semanas lunares começam em 5 de janeiro, a função lunarweekname() identifica que a semana lunar contendo 7 de janeiro é a primeira semana lunar do ano. Portanto, o valor de lunar_week_name retornado para essa transação é 2022/01.
Exemplo 4: 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 o mesmo conjunto de dados e cenário do primeiro exemplo.
No entanto, neste exemplo, o conjunto de dados inalterado é carregado no aplicativo. O cálculo que retorna o número da semana lunar e o ano em que as transações ocorreram é 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 esse campo como uma dimensão: date.
Para calcular a data de início da semana lunar em que uma transação ocorre, crie a seguinte medida:
=lunarweekname(date)
Tabela de resultados
date
=lunarweekname(date)
1/7/2022
2022/01
1/19/2022
2022/03
2/5/2022
2022/06
2/28/2022
2022/09
3/16/2022
2022/11
4/1/2022
2022/13
5/7/2022
2022/19
5/16/2022
2022/20
6/15/2022
2022/24
6/26/2022
2022/26
7/9/2022
2022/28
7/22/2022
2022/29
7/23/2022
2022/30
7/27/2022
2022/30
8/2/2022
2022/31
8/8/2022
2022/32
8/19/2022
2022/33
9/26/2022
2022/39
10/14/2022
2022/41
10/29/2022
2022/44
A medida lunar_week_name é criada no objeto de gráfico usando a função lunarweekname() e transmitindo o campo date como o argumento da função.
A função lunarweekname() identifica em qual semana lunar o valor da data cai, retornando o número do ano e da semana dessa data.
A transação 8189 ocorreu em 19 de janeiro. A função lunarweekname() identifica que essa data cai na semana lunar que começa em 15 de janeiro; essa é a terceira semana lunar do ano. Portanto, o valor de lunar_week_name dessa transação é 2022/03.
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 contendo um conjunto de transações para 2022, que é carregado em uma tabela chamada Transactions.
O campo de data fornecido no formato da variável de sistema DateFormat (MM/DD/AAAA).
O usuário final gostaria de um objeto de gráfico que apresentasse o total de vendas por semana no ano atual. A semana 1, com duração de sete dias, deve começar em 1º de janeiro. Isso pode ser alcançado mesmo quando essa dimensão não está disponível no modelo de dados. Para isso, use a função lunarweekname() como uma dimensão calculada no gráfico.
Carregue os dados e abra uma pasta. Crie uma nova tabela.
Crie uma dimensão calculada usando a seguinte expressão:
=lunarweekname(date)
Calcule o total de vendas usando a seguinte medida de agregação:
=sum(amount)
Defina o Formato numérico da medida como Dinheiro.
Tabela de resultados
=lunarweekname(date)
=sum(amount)
2022/01
$17.17
2022/03
$37.23
2022/06
$57.42
2022/09
$88.27
2022/11
$53.80
2022/13
$82.06
2022/19
$40.39
2022/20
$87.21
2022/24
$95.93
2022/26
$45.89
2022/28
$36.23
2022/29
$25.66
2022/30
$152.75
2022/31
$76.11
2022/32
$25.12
2022/33
$46.23
2022/39
$84.21
2022/41
$96.24
2022/44
$67.67
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!