Qlik Community

App Development

Discussion board where members can learn more about Qlik Sense App Development and Usage.

Announcements
Qlik Insider: SaaS capabilities for Data Integration and Analytics, May 25th! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
evoliveira
Partner
Partner

coluna acumulada meses anteriores junto com meses selecionados em tabela dinamica qlik sense

Caros colegas,

Estou com dificuldades para criar uma visualização utilizando tabela dinamica em QLIK SENSE onde quero demonstrar meses na horizontal, porem a partir da seleção de um periodo, que apresenta uma unica coluna com o total dos meses anteriores, mas mantendo a apresentacao dos meses seguintes. Abaixo a tabela que criei o onde seria apresentada esta coluna. É possivel criar desta forma no Qlik Sense?

 

Grato pela ajuda.

evoliveira_0-1630672563377.png

 

 

1 Solution

Accepted Solutions
pedrobergo
Employee
Employee

Olá @evoliveira 

Eu recomendo vc fixar o número de colunas da data de ATENDIMENTO, pois assim vc pode controlar a fórmula de cada coluna, o que é bem complicado de fazer com uma dimensão na coluna de uma tabela dinâmica.

Crie uma coluna para cada data de atendimento desejada. Use ADDMONTH para setar cada coluna, tanto o valor quanto o Rótulo, variando de 0 (mes atual) até -12 por exemplo.

Supondo que cada coluna mostrada é uma data agrupada por mês/ano, usando DATE(Atendimento, 'MM/YYYY'), seria assim:

1. Criar um campo no script assim --> Date(MonthStart(Atendimento)) AS  MesAnoAtend.

2. Tabela Dinâmica: Ajustar a tabela dinâmica para

  • Linhas = dimensão Pagamento
  • Colunas = sem nenhuma dimensão
  • Valores = 12 colunas, contendo as colunas
    1. Fórmula = Sum( {<MesAnoAtend = {"<=$(=Date(Addmonths(Max(MesAnoAtend),-12)))"} Valor )
    2. Fórmula = Sum( {<MesAnoAtend = {"$(=Date(Addmonths(Max(MesAnoAtend),-11)))"} Valor )
    3. Fórmula = Sum( {<MesAnoAtend = {"$(=Date(Addmonths(Max(MesAnoAtend),-10)))"} Valor )
    4. (...)
    5. Fórmula = Sum( {<MesAnoAtend = {"$(=Date(Max(MesAnoAtend)))"} Valor )

Sempre que escolher um mês/ano ou data de atendimento, ele será o Max() de Atendimento, com isso, cada coluna irá calcular de 0 a 12 meses anteriores ao mês da data escolhida e a 1ª coluna conterá o total anterior aos 12 meses, pois tem o operador '<='.

Adicione colunas a gosto.

[],

Pedro

View solution in original post

2 Replies
pedrobergo
Employee
Employee

Olá @evoliveira 

Eu recomendo vc fixar o número de colunas da data de ATENDIMENTO, pois assim vc pode controlar a fórmula de cada coluna, o que é bem complicado de fazer com uma dimensão na coluna de uma tabela dinâmica.

Crie uma coluna para cada data de atendimento desejada. Use ADDMONTH para setar cada coluna, tanto o valor quanto o Rótulo, variando de 0 (mes atual) até -12 por exemplo.

Supondo que cada coluna mostrada é uma data agrupada por mês/ano, usando DATE(Atendimento, 'MM/YYYY'), seria assim:

1. Criar um campo no script assim --> Date(MonthStart(Atendimento)) AS  MesAnoAtend.

2. Tabela Dinâmica: Ajustar a tabela dinâmica para

  • Linhas = dimensão Pagamento
  • Colunas = sem nenhuma dimensão
  • Valores = 12 colunas, contendo as colunas
    1. Fórmula = Sum( {<MesAnoAtend = {"<=$(=Date(Addmonths(Max(MesAnoAtend),-12)))"} Valor )
    2. Fórmula = Sum( {<MesAnoAtend = {"$(=Date(Addmonths(Max(MesAnoAtend),-11)))"} Valor )
    3. Fórmula = Sum( {<MesAnoAtend = {"$(=Date(Addmonths(Max(MesAnoAtend),-10)))"} Valor )
    4. (...)
    5. Fórmula = Sum( {<MesAnoAtend = {"$(=Date(Max(MesAnoAtend)))"} Valor )

Sempre que escolher um mês/ano ou data de atendimento, ele será o Max() de Atendimento, com isso, cada coluna irá calcular de 0 a 12 meses anteriores ao mês da data escolhida e a 1ª coluna conterá o total anterior aos 12 meses, pois tem o operador '<='.

Adicione colunas a gosto.

[],

Pedro

evoliveira
Partner
Partner
Author

Olá @pedrobergo 

Muito obrigado pela ajuda! Embora as colunas da dimensão "Atendimento" fiquem um tanto restritas pois nao serao dinamicas, o requisito da coluna "periodo anterior" foi atendido!

[]'s

Evandro