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.
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
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
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 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.
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
date
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.
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
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.
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.
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
date
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.
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
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.
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.
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
date
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.
Exemplo 4: Exemplo de objeto de gráfico
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 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.
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
date
=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.
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
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 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.
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:
No painel de ativos, clique em Objetos personalizados.
Selecione Qlik - Pacote Dashboard e crie um objeto de Entrada de variável.
Insira um título para o objeto de gráfico.
Em Variável, selecione vPeriod como o Nome e defina o objeto para ser exibido como um Menu suspenso.
Em Valores, configure o objeto para usar valores dinâmicos. Insira o seguinte:
Crie uma nova tabela e adicione a seguinte dimensão calculada:
=monthsname($(vPeriod),date)
Adicione esta medida para calcular o total de vendas:
=sum(amount)
Defina o Formato numérico da medida como Dinheiro. Clique em Edição concluída. 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
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!