# monthsname Função de script e de 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.

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 ![Example diagram showing the range of months  returned by the monthsname function, given a specific input date.](https://help.qlik.com/pt-BR/sense/May2026/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 nos outros exemplos, o comando SETMonthnames está definido 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 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: 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 ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. In this case, it determines that transaction number 8195, which took place on May 22, will return the value indicating a range of May to June 2022.](https://help.qlik.com/pt-BR/sense/May2026/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 ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. The period_no is set at -1. Transaction number 8195, which took place between May and June, will return the value indicating a range of March to April 2022.](https://help.qlik.com/pt-BR/sense/May2026/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 `first_month_of_year` argumento na `monthsname()` função, a função começa o ano em 1º de abril. Em seguida, 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 ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. Since the year is set to begin on April 1, transaction number 8195 will return a value indicating a range of April to May 2022.](https://help.qlik.com/pt-BR/sense/May2026/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 a 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 ![Diagram showing the results of using the monthsname function with a chart object. Like the other examples, the function is used to determine the range of months within which a transaction took place. Transaction number 8195 returns a value of May-Jun 2022.](https://help.qlik.com/pt-BR/sense/May2026/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 esta 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 Gráficos.

2. Em Objetos de painel, arraste uma Entrada de variável para a pasta.

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 |