# lunarweekname Função de script e de gráfico

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.

Sintaxe:

LunarWeekName(date [, period\_no[, first\_week\_day]])

Tipo de dados de retorno: dual

Exemplo de diagrama da função `lunarweekname()`

Exemplo de diagrama da função `lunarweekname()`

Exemplo de diagrama da função `lunarweekname()`lunarweekname() ![Diagrama de exemplo mostrando como a função lunarweekname converte uma data de entrada em um valor que exibe uma combinação do ano e do número da semana lunar.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-general.png)

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 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: data sem argumentos adicionais

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carregamento e resultados

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 para 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, `  lunar_week_name `, que retorna o número do ano e da semana lunar em que as transações ocorreram.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        lunarweekname(date) as lunar_week_name
        ;
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

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

| data | 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.

Diagrama da função `lunarweekname()`, exemplo sem argumentos adicionais

Diagrama da função `lunarweekname()`, exemplo sem argumentos adicionais

Diagrama da função `lunarweekname()`lunarweekname(), exemplo sem argumentos adicionais ![Diagrama mostrando como a função lunarweekname converte uma data de entrada em um valor que exibe uma combinação do ano e do número da semana lunar.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-no-add-arg.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carregamento e resultados

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:

* 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.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        lunarweekname(date,-1) as previous_lunar_week_name
        ;
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

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

| data | 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.

Diagrama da função `lunarweekname()`, exemplo de period\_no

Diagrama da função `lunarweekname()`, exemplo de period\_no

Diagrama da função `lunarweekname()`lunarweekname(), exemplo de period\_no ![Diagrama mostrando como a função lunarweekname converte a data de entrada de uma transação em um valor combinado exibindo o número do ano e da semana da semana lunar em que a transação ocorreu.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-period-no.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carregamento e resultados

Visão geral

Abra o editor de carregamento 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.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        lunarweekname(date,0,4) as lunar_week_name
        ;
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

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

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

Diagrama da função `lunarweekname()`, exemplo de first\_week\_day

Diagrama da função `lunarweekname()`, exemplo de first\_week\_day

Diagrama da função `lunarweekname()`lunarweekname(), exemplo de first\_week\_day ![Diagrama mostrando como a função lunarweekname converte a data de entrada de cada transação em um valor combinado exibindo o número do ano e da semana lunar.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-first-week-day.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carregamento e expressão 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.

Script de carregamento

```
Transactions:
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

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

| data | =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.

Diagrama da função lunarweekname(), exemplo de objeto de gráfico

Diagrama da função lunarweekname(), exemplo de objeto de gráfico

Diagrama da função lunarweekname()lunarweekname(), exemplo de objeto de gráfico ![Diagrama mostrando como a função lunarweekname converte uma data de entrada em um valor que exibe uma combinação do ano e do número da semana lunar.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-chart-object.png)

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carregamento e expressão 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 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.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

Faça o seguinte:

1. Carregue os dados e abra uma pasta. Crie uma nova tabela.

2. Crie uma dimensão calculada usando a seguinte expressão:

   =lunarweekname(date)

3. Calcule o total de vendas usando a seguinte medida de agregação:

   =sum(amount)

4. 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 |