Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Variação Mensal - Dúvida

Estou querendo fazer uma expressão Variação Mensal = Receita Mat/Med (mes ant) / Receita Mat/Med (mes atual), exemplo:

   Na linha de Jan/2014 a Variação Mensal = Receita Mat/Med (Dez/2013) / Receita Mat/Med (Jan/2014)

   Na linha de Fev/2014 a Variação Mensal = Receita Mat/Med (Jan/2014) / Receita Mat/Med (Fev/2014)

   E assim sucessivamente, ou seja, preciso que seja dinâmico. Quando seleciono o ano, esta expressão deve ser calculada dinamicamente.

Inline image 2

Anexei um exemplo para ajudar. Não é o original, mas se alguém conseguir fazer a expressão variação neste exemplo resolve o meu problema real.

Desde já agradeço,

Geny Oliveira

Labels (1)
1 Solution

Accepted Solutions
Not applicable
Author

No meu caso só vai selecionar uma Ano por vez e por isso funciona.

Obrigada pela atenção,

Geny

View solution in original post

17 Replies
lucianosv
Specialist
Specialist

Boa tarde.

Sei que não está como você pediu mas o ideal para sempre ter os valores é fazer o valor atual e anterior ficarem na mesma linha.

Assim está da forma mais simples.

Vou olhar com mais tempo amanhã.

Not applicable
Author

Boa noite Luciano,

   Não tem como fazer sem eu ter que selecionar os 2 anos. O que eu queria mesmo era selecionar apenas 2014 e na tabela mostrar apenas os meses de 2014 e em janeiro mostrasse a variação entre Jan/2014 e dez/2013.

Ats

Geny

lucianosv
Specialist
Specialist

Boa noite. A nuvem de dados mostra o que você seleciona ou tudo se não selecionar nada. Eu não olhei a aplicação em detalhes, mas o modo que enxergo para fazer isso corretamente é ter na tabela fato o valor atual e o anterior na mesma linha.

Isso é simples de fazer mas não tive tempo. Vou tentar amanhã.

Att.

Luciano.

Enviado via iPhone

Em 15/10/2014, às 20:48, Maria Geny Albuquerque Oliveira <qcwebmaster@qlikview.com> escreveu:

Qlik Community

Variação Mensal - Dúvida

resposta de Maria Geny Albuquerque Oliveira em Qlikview Brasil - Visualize a discussão completa

Boa noite Luciano,

  Não tem como fazer sem eu ter que selecionar os 2 anos. O que eu queria mesmo era selecionar apenas 2014 e na tabela mostrar apenas os meses de 2014 e em janeiro mostrasse a variação entre Jan/2014 e dez/2013.

Ats

Geny

Responda a esta mensagem respondendo a este e-mail ou vá para a mensagem em Qlik Community

Inicie uma nova discussão em Qlikview Brasil por e-mail ou em Qlik Community

Seguindo Qlikview Brasil nestes fluxos: Fluxo de conexões, Caixa de Entrada

Seguindo Variação Mensal - Dúvida nestes fluxos: Caixa de Entrada

© 1993-2014 QlikTech International AB    Copyright & Trademarks | Privacy | Terms of Use | Software EULA

lucianosv
Specialist
Specialist

Bom dia.

Não consigo carregar, mas fiz as alterações. Pode haver algum probleminha mas creio que não.

Após carregar existirão dois novos campos: VL_RECEITAANT e VL_DESPESAANT.

Vou criar uma tabela Receita 2 que estará com erro antes da carga.

Vamos ver se funciona.

Segue o qvw alterado.

Not applicable
Author

Bom dia Luciano,

   No painel real não é só VL_RECEITA, são vários valores e eu terei de fazer para todas. E não entendi como esta nova tabela ficará ligada a nuvem.

   Pensei em fazer a expressão assim:

   if (Mes='01',SUM({$<[Mes/Ano]={$(=VMesAnterior)}, Ano=>} VL_RECEITA_MAT_REEMB), SUM(VL_RECEITA_MAT_REEMB) / Above(SUM(VL_RECEITA_MAT_REEMB)))

   Mas não funcionou, se substituo a variável por 'Dez/2013' funciona em um objeto tipo texto, porém na tabela retorna 0 para o mês Jan e para os outros funciona.

   O que será que está errado na expressão?

Ats

Geny

lucianosv
Specialist
Specialist

Bom dia.

Não é uma nova tabela. Eu fiz um left join, logo você têm o valor atual e anterior na mesma linha a tabela fato.

Você de fato terá que incluir todos os campos de valores no script da aba valores anteriores. Quanto a sua expressão, ela não funciona pq o mêsano está na tabela e o valor da sua variável deixa a expressão com valor nulo para os outros meses.

Not applicable
Author

Luciano,

   A expressão eu corrigi, faltava as aspas.

   =SUM({$<[Mes/Ano]={'$(=VMesAnterior)'}, Ano=>} VL_RECEITA)

  Isto funciona no objeto texto, porém na minha tabela não funciona, retorna 0.

  Na tabela a expressão da variação ficaria assim:

if (Mes='01',SUM({$<[Mes/Ano]={'$(=VMesAnterior)'}, Ano=>} VL_RECEITA), SUM(VL_RECEITA) / Above(SUM(VL_RECEITA)))


Ats

Geny

lucianosv
Specialist
Specialist

Bom dia.

Mesmo assim, quando virar para 2015 você terá problemas a menos que carregue menos de 24 meses de informação. Além disso, quando você junta os dados como fiz, o primeiro mês da tabela não ficará nulo.

Porém se da forma que você fez te atender OK.

Att, Luciano.

Not applicable
Author

Bom dia Luciano,

  Da forma que fiz não me atende porque retorna 0.

  Vou tentar fazer esse left join e ver se resolve.

  Eu te passo um retorno assim que conseguir.

Obrigada.

Geny