# monthsname – função de script e gráfico

Esta função retorna um valor de exibição que representa o intervalo dos meses do período (formatados de acordo com a variável de script MonthNames) e o ano. O valor numérico subjacente corresponde a um carimbo de data/hora do primeiro milissegundo do mês, bimestre, trimestre, quadrimestre ou semestre contendo uma data base.

Sintaxe:

MonthsName(n\_months, date[, period\_no[, first\_month\_of\_year]])

Tipo de dados de retorno: dual

Diagrama da função monthsname

Diagrama da função monthsname

Diagrama da função monthsname ![Diagrama de exemplo mostrando o intervalo de meses retornado pela função monthsname, considerando uma data de entrada específica.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-general.png)

A função `monthsname()` divide o ano em segmentos com base no argumento `n_months` fornecido. Em seguida, ela avalia o segmento ao qual cada `date` fornecida pertence e retorna os nomes dos meses inicial e final desse segmento, bem como o ano. A função também fornece a capacidade de retornar esses limites de segmentos anteriores ou seguintes, bem como de redefinir qual é o primeiro mês do ano.

Os seguintes segmentos do ano estão disponíveis na função como argumentos `n_month`:

Possíveis argumentos `n_month`n\_month

| Períodos | Número de meses |
| --- | --- |
| mês | 1 |
| bimestre | 2 |
| trimestre | 3 |
| quadrimestre | 4 |
| semestre | 6 |

Argumentos

| Argumento | Descrição |
| --- | --- |
| n\_months | O número de meses que define o período. Um inteiro ou uma expressão que se resolve como um inteiro que deve ser um dos seguintes: 1 (equivalente à função inmonth()), 2 (bimestre), 3 (equivalente à função inquarter()), 4 (quadrimestre) ou 6 (semestre). |
| date | A data ou o carimbo de data/hora a ser avaliado. |
| period\_no | O período pode ser deslocado por period\_no, um inteiro ou expressão que resolve um inteiro, no qual o valor 0 indica o período que contém base\_date. Valores negativos em period\_no indicam períodos precedentes e valores positivos indicam períodos 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. |

## Quando usar

A função `monthsname()` é útil quando você deseja fornecer ao usuário a funcionalidade de comparar agregações por um período de sua escolha. Por exemplo, você pode fornecer uma variável de entrada para permitir que o usuário veja o total de vendas de produtos por mês, trimestre ou semestre.

Essas dimensões podem ser criadas no script de carregamento, adicionando a função como um campo em uma tabela Calendário mestre ou, como alternativa, criando a dimensão diretamente em um gráfico como uma dimensão calculada.

Exemplos de funções

| Exemplo | Resultado |
| --- | --- |
| `monthsname(4, '10/19/2013')` | Retorna "Sep-Dec 2013". Neste e em outros exemplos, a instrução SET Monthnames está definida como Jan;Feb;Mar e assim por diante. |
| `monthsname(4, '10/19/2013', -1)` | Retorna "May-Aug 2013". |
| ` monthsname(4, '10/19/2013', 0, 2)  ` | Retorna "Oct-Jan 2014", já que o ano está especificado para começar no mês 2. Portanto, o período de quatro meses termina no primeiro mês do ano seguinte. |

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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, `bi_monthly_range`, que agrupa transações em segmentos bimestrais e retorna os nomes dos limites desse segmento para cada transação.

Script de carregamento

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

Transactions:
    Load
        *,
        monthsname(2,date) as bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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`

* `bi_monthly_range`

Tabela de resultados

| data | bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Jan-Feb 2022 |
| 3/7/2022 | Mar-Apr 2022 |
| 3/30/2022 | Mar-Apr 2022 |
| 4/5/2022 | Mar-Apr 2022 |
| 4/16/2022 | Mar-Apr 2022 |
| 5/1/2022 | May-Jun 2022 |
| 5/7/2022 | May-Jun 2022 |
| 5/22/2022 | May-Jun 2022 |
| 6/15/2022 | May-Jun 2022 |
| 6/26/2022 | May-Jun 2022 |
| 7/9/2022 | Jul-Aug 2022 |
| 7/22/2022 | Jul-Aug 2022 |
| 7/23/2022 | Jul-Aug 2022 |
| 7/27/2022 | Jul-Aug 2022 |
| 8/2/2022 | Jul-Aug 2022 |
| 8/8/2022 | Jul-Aug 2022 |
| 8/19/2022 | Jul-Aug 2022 |
| 9/26/2022 | Sep-Oct 2022 |
| 10/14/2022 | Sep-Oct 2022 |
| 10/29/2022 | Sep-Oct 2022 |

O campo `bi_monthly_range` é criado na instrução de carregamento anterior usando a função `monthsname()`. O primeiro argumento fornecido é 2, dividindo o ano em segmentos bimestrais. O segundo argumento identifica qual campo está sendo avaliado.

Diagrama da função monthsname, exemplo básico

Diagrama da função monthsname, exemplo básico

Diagrama da função monthsname, exemplo básico![Diagrama mostrando os resultados do uso da função monthsname para determinar o intervalo de meses dentro dos quais uma transação ocorreu.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-basic-example.png)

A transação 8195 ocorre em 22 de maio. A função `monthsname()` inicialmente divide o ano em segmentos bimestrais. A transação 8195 cai no segmento entre 1º de maio e 30 de junho. Portanto, a função retorna esses meses no formato da variável do sistema `MonthNames`, bem como o ano, May-Jun 2022.

## Exemplo 2: period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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 inline e cenário do primeiro exemplo.

* A criação de um campo, `prev_bi_monthly_range`, que agrupa transações em segmentos bimestrais e retorna os nomes dos limites do segmento anterior para cada transação.

Adicione seu outro texto aqui, conforme necessário, com listas etc.

Script de carregamento

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

Transactions:
    Load
        *,
        MonthsName(2,date,-1) as prev_bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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`

* `prev_bi_monthly_range`

Tabela de resultados

| data | prev\_bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Nov-dez 2021 |
| 3/7/2022 | Jan-Feb 2022 |
| 3/30/2022 | Jan-Feb 2022 |
| 4/5/2022 | Jan-Feb 2022 |
| 4/16/2022 | Jan-Feb 2022 |
| 5/1/2022 | Mar-Apr 2022 |
| 5/7/2022 | Mar-Apr 2022 |
| 5/22/2022 | Mar-Apr 2022 |
| 6/15/2022 | Mar-Apr 2022 |
| 6/26/2022 | Mar-Apr 2022 |
| 7/9/2022 | May-Jun 2022 |
| 7/22/2022 | May-Jun 2022 |
| 7/23/2022 | May-Jun 2022 |
| 7/27/2022 | May-Jun 2022 |
| 8/2/2022 | May-Jun 2022 |
| 8/8/2022 | May-Jun 2022 |
| 8/19/2022 | May-Jun 2022 |
| 9/26/2022 | Jul-Aug 2022 |
| 10/14/2022 | Jul-Aug 2022 |
| 10/29/2022 | Jul-Aug 2022 |

Neste exemplo, -1 é usado como o argumento `period_no` na função `monthsname()`. Depois de dividir inicialmente um ano em segmentos bimestrais, a função retorna os limites do segmento anterior para quando uma transação ocorre.

Diagrama da função monthsname, exemplo de period\_no

Diagrama da função monthsname, exemplo de period\_no

Diagrama da função monthsname, exemplo de period\_no![Diagrama mostrando os resultados do uso da função monthsname para determinar o intervalo de meses dentro dos quais uma transação ocorreu.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-period-no.png)

A transação 8195 ocorre no segmento entre maio e junho. Portanto, o segmento bimestral anterior foi entre 1º de março e 30 de abril, o que faz a função retornar Mar-abr 2022.

## Exemplo 3: first\_month\_of\_year

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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 inline e cenário do primeiro exemplo.

* A criação de um campo diferente, `bi_monthly_range`, que agrupa as transações em segmentos bimestrais e retorna os limites do segmento para cada transação.

No entanto, neste exemplo, também precisamos definir abril como o primeiro mês do exercício financeiro.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY';
						
Transactions:
    Load
        *,
        MonthsName(2,date,0,4) as bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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`

* `bi_monthly_range`

Tabela de resultados

| data | bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Fev-mar 2021 |
| 3/7/2022 | Fev-mar 2021 |
| 3/30/2022 | Fev-mar 2021 |
| 4/5/2022 | Apr-May 2022 |
| 4/16/2022 | Apr-May 2022 |
| 5/1/2022 | Apr-May 2022 |
| 5/7/2022 | Apr-May 2022 |
| 5/22/2022 | Apr-May 2022 |
| 6/15/2022 | Jun-Jul 2022 |
| 6/26/2022 | Jun-Jul 2022 |
| 7/9/2022 | Jun-Jul 2022 |
| 7/22/2022 | Jun-Jul 2022 |
| 7/23/2022 | Jun-Jul 2022 |
| 7/27/2022 | Jun-Jul 2022 |
| 8/2/2022 | Aug-Sep 2022 |
| 8/8/2022 | Aug-Sep 2022 |
| 8/19/2022 | Aug-Sep 2022 |
| 9/26/2022 | Aug-Sep 2022 |
| 10/14/2022 | Oct-Nov 2022 |
| 10/29/2022 | Oct-Nov 2022 |

Usando 4 como o argumento `first_month_of_year` na função `monthsname()`, a função começa o ano em 1º de abril. Em seguida, ela divide o ano em segmentos bimestrais: Abr-mai, Jun-jul, Ago-set, Out-nov, Dez-jan, Fev-mar.

Texto de parágrafo para resultados.

A transação 8195 ocorreu em 22 de maio e cai no segmento entre 1º de abril e 31 de maio. Portanto, a função retorna Apr-May 2022.

Diagrama da função monthsname, exemplo de first\_month\_of\_year

Diagrama da função monthsname, exemplo de first\_month\_of\_year

Diagrama da função monthsname, exemplo de first\_month\_of\_year![Diagrama mostrando os resultados do uso da função monthsname para determinar o intervalo de meses dentro dos quais uma transação ocorreu.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-first-month-of-year.png)

## Exemplo 4: Exemplo de objeto de gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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 inline e cenário do primeiro exemplo. No entanto, neste exemplo, o conjunto de dados inalterado é carregado no aplicativo. O cálculo que agrupa transações em segmentos bimestrais e retorna os limites do segmento para cada transação é criado como uma medida em um objeto de gráfico do aplicativo.

Script de carregamento

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

Transactions:
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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.

Crie a seguinte medida:

=monthsname(2,date)

Tabela de resultados

| data | =monthsname(2,date) |
| --- | --- |
| 2/19/2022 | Jan-Feb 2022 |
| 3/7/2022 | Mar-Apr 2022 |
| 3/30/2022 | Mar-Apr 2022 |
| 4/5/2022 | Mar-Apr 2022 |
| 4/16/2022 | Mar-Apr 2022 |
| 5/1/2022 | May-Jun 2022 |
| 5/7/2022 | May-Jun 2022 |
| 5/22/2022 | May-Jun 2022 |
| 6/15/2022 | May-Jun 2022 |
| 6/26/2022 | May-Jun 2022 |
| 7/9/2022 | Jul-Aug 2022 |
| 7/22/2022 | Jul-Aug 2022 |
| 7/23/2022 | Jul-Aug 2022 |
| 7/27/2022 | Jul-Aug 2022 |
| 8/2/2022 | Jul-Aug 2022 |
| 8/8/2022 | Jul-Aug 2022 |
| 8/19/2022 | Jul-Aug 2022 |
| 9/26/2022 | Sep-Oct 2022 |
| 10/14/2022 | Sep-Oct 2022 |
| 10/29/2022 | Sep-Oct 2022 |

O campo bi\_monthly\_range é criado como uma medida no objeto de gráfico usando a função monthsname(). O primeiro argumento fornecido é 2, dividindo o ano em segmentos bimestrais. O segundo argumento identifica qual campo está sendo avaliado.

Diagrama da função monthsname, exemplo de objeto de gráfico

Diagrama da função monthsname, exemplo de objeto de gráfico

Diagrama da função monthsname, exemplo de objeto de gráfico![Diagrama mostrando os resultados do uso da função monthsname com um objeto de gráfico.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-chart-object.png)

A transação 8195 ocorre em 22 de maio. A função monthsname() inicialmente divide o ano em segmentos bimestrais. A transação 8195 cai no segmento entre 1º de maio e 30 de junho. Portanto, a função retorna esses meses no formato da variável do sistema MonthNames, bem como o ano, May-Jun 2022.

## Exemplo 5: Cenário

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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 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 deseja ter um objeto de gráfico que exibe o total de vendas por um período de sua própria escolha. Isso pode ser alcançado mesmo quando essa dimensão não está disponível no modelo de dados, usando a função monthsname() como uma dimensão calculada que é modificada dinamicamente por um controle de entrada de variável.

Script de carregamento

```
SET vPeriod = 1;
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

Carregue os dados e abra uma pasta.

No início do script de carregamento, foi criada uma variável (vPeriod) que será vinculada ao controle de entrada de variável. Em seguida, configure a variável como um objeto personalizado na pasta.

Faça o seguinte:

1. No painel de ativos, clique em Objetos personalizados.

2. Selecione Qlik - Pacote Dashboard e crie um objeto de Entrada de variável.

3. Insira um título para o objeto de gráfico.

4. Em Variável, selecione vPeriod como o Nome e defina o objeto para ser exibido como um Menu suspenso.

5. Em Valores, configure o objeto para usar valores dinâmicos. Insira o seguinte:

   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'

Em seguida, crie a tabela de resultados.

Faça o seguinte:

1. Crie uma nova tabela e adicione a seguinte dimensão calculada:

   =monthsname($(vPeriod),date)

2. Adicione esta medida para calcular o total de vendas:

   =sum(amount)

3. Defina o Formato numérico da medida como Dinheiro. Clique em the Edição concluída icon. Agora, você pode modificar os dados mostrados na tabela ajustando o segmento de tempo no objeto de variável.

É assim que a tabela de resultados ficará quando a opção tertial for selecionada:

Tabela de resultados

| monthsname($(vPeriod),date) | =sum(amount) |
| --- | --- |
| Jan-Apr 2022 | 253.89 |
| May-Aug 2022 | 713.58 |
| Sep-Dec 2022 | 248.12 |