Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
nara_franzen
New Contributor III

Variável Calculada em Tabela Dinâmica

Olá,

Estou montando um DRE, e criei a seguinte variável para usar em uma tabela dinâmica onde tenho a Receita, Impostos e Faturamento Líquido, etc..  em linhas e os meses nas colunas.

vFaturamentoLiquido = Sum({$< INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])

Ela funciona perfeitamente bem se tiver um mês específico selecionado, porém ao selecionar um ano inteiro por exemplo, a variável calculada retorna o valor total do período selecionado para todos os meses. Como posso resolver esse impasse, já tentei algumas formas nas não consegui chegar a um valor.

Obrigada

Tags (1)
10 Replies
rogerioalmeida
Contributor

Re: Variável Calculada em Tabela Dinâmica

Nara,

Posso esta vendo pouco do que precisa mais você tem algumas opções por exemplo:

Ignorar Ano:

vFaturamentoLiquido = Sum({$< Ano =,INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])


Ignorar Mês:

vFaturamentoLiquido = Sum({$< Mês =,INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])


Ignorar Ano e Mês:

vFaturamentoLiquido = Sum({$< Ano =, Mês =,INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])


Ou ainda deixar a informação que você deseja já filtrada.


vFaturamentoLiquido = Sum({$< Ano =, Mês ={"=$(month(max(data)))"} ,INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês])

  ---- Verifica a sintaxe desse não sei se esta 100%



Espero ter ajudado.

nara_franzen
New Contributor III

Re: Variável Calculada em Tabela Dinâmica

Bom dia,

Obrigada pela ajuda, mas na verdade, o que eu quero é exatamente o oposto, que ele considere mês e ano na análise.

Por exemplo, se eu selecionar o ano de 2017, que tenha o resultado mês a mês nas colunas. Da forma que eu fiz, ele me mostra em todos os meses o total do faturamento líquido, eu queria que em janeiro mostrasse o total de janeiro, em fevereiro, o total de fevereiro e assim por diante.

Novamente, obrigada pela ajuda.

aresende
New Contributor II

Re: Variável Calculada em Tabela Dinâmica

Bom dia!

Para que ele mostre os meses na tabela dinâmica, você precisa adicionar o mês como uma dimensão da tabela dinâmica. Assim, quando você selecionar apenas um mês, ele mostra apenas aquele mês. Ao selecionar apenas o ano (sem o mês), ele mostra todos os meses disponíveis daquele ano.

Pessoalmente, eu não gosto de usar variáveis para esses cálculos, prefiro adicioná-las explicitamente nos objetos, assim meu script fica mais limpo e quem estiver usando ou editando o meu arquivo sabe exatamente a fórmula que estou usando.

Espero ter ajudado!

nara_franzen
New Contributor III

Re: Variável Calculada em Tabela Dinâmica

Bom dia!

Obrigada pela ajuda, mas desculpe, não entendi direito, vou tentar me explicar melhor.

Não fiz nada no script, foi tudo na própria tabela dinâmica, e as dimensões que eu precisava calcular fiz por variável, seguindo os passos do que descrito aqui: Criação de DRE

A questão é que quando quero olhar mais do que um mês, para as variáveis calculadas, ele traz a soma de todos meses selecionados, e não o valor somente daquele mês. para tentar ajudar, abaixo está a tela, com a forma que ficaram os dados, o ano de 2012 era para estar com todos os valores zerados (a base incia em 2013). Como tem outros meses selecionados, os dados que foram calculados via variável, traz o total de todos os meses selecionados que eu preciso é que venha o valor mês a mês.

A fórmula vFaturamentoLiquido = Sum({$< INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês]) está inserida como variável.

Exemplo.jpg

Novamente, obrigada pelo auxílio..

Nara

aresende
New Contributor II

Re: Variável Calculada em Tabela Dinâmica

Ok, acho que finalmente entendi, obrigado pelas informações.

Quando você criou uma variável e seleciona mais de um mês, como é a mesma variável em todos os campos, ele soma os meses.

Você deveria escrever a expressão explícita da soma como expressão, assim, se mês for uma dimensão da tabela dinâmica, ele deveria funcionar bem. Se não der certo, tente mandar um arquivo simplificado que faço para você.

nara_franzen
New Contributor III

Re: Variável Calculada em Tabela Dinâmica

Bom dia!

Se eu coloco os dados na expressão, o resultado é sempre zero, porque eu tenho os mesmos dados duas vezes na tabela, por exemplo, eu tenho o Faturamento Bruto e os Impostos nas linhas acima, então, quando vai calcular o Faturamento Líquido, ele zera.. porque os mesmos dados não podem estar duas vezes na mesma tabela.

Muito obrigada

aresende
New Contributor II

Re: Variável Calculada em Tabela Dinâmica

Você poderia anexar o arquivo por aqui para eu dar uma olhada?

Employee
Employee

Re: Variável Calculada em Tabela Dinâmica

  • Como está introduzindo a variável na expressão da medida?
  • Se colocar Sum({$< INDICADOR = {"1. RECEITA BRUTA"}>} [Valor Mês]) - Sum({$< INDICADOR = {"2. IMPOSTOS"}>} [Valor Mês]) na medida fica certo?
nara_franzen
New Contributor III

Re: Variável Calculada em Tabela Dinâmica

Olá..

Montei uma versão bem simplificada do meu arquivo (sem muitos tratamentos), mas dá pra simular o que não estou conseguindo fazer, no .qvf deixei duas expressões, onde uma tem a fórmula, e retorna zerada, e a outra tem a variável, e daí retorna o total do período selecionado. Se eu selecionar um mês só, o valor vem correto, mas na versão mês a mês a variável calculada vem o total.

Novamente muito obrigada pela ajuda!