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

Gráfico Acumulado

Bom dia preciso Criar um Gráfico acumulado, na barra do gráfico o Expressões/acumular funciona corretamente porem no percentual não consigo

segue expressão do percentual

=if(Metricas='VPF',(sum({<TIPO={'REAIS'},PROVEDOR={teste}>}(VENDA))/sum({<TIPO={'REAIS'},TRANSACAO_ID={'1','2'}>}(VENDA))),

(sum({<TIPO={'UNIDADE'},PROVEDOR={teste}>}(VENDA))/sum({<TIPO={'UNIDADE'},TRANSACAO_ID={'1','2'}>}(VENDA))))

Acumulado.PNG

8 Replies
Anonymous
Not applicable
Author

Ola,

consegue disponibilizar um arquivo de exemplo?

de qualquer forma acredito que você vai precisar usar um aggr e um above pra resolver esse problema, você teria algo mais ou menos assim RangeSum(Aggr(Above(Calculo_da_barra, 0, RowNo()),Dimensão))

é possível que a ordem das funções acima esteja errada, eu não programo a muito tempo no QlikView e ainda tenho dificuldade de resolver algo assim de cabeça, onde esta Calculo_da_barra é a soma que você usa pra achar o valor das barras e dimensão é a dimensão que esta nesse grafico.

A logica seria o seguinte, com o aggr vc gera uma tabela virtual que contem os seus dados, tipo uma tabela dinamica, o above serve pra retornar dados acima do dado atual, o terceiro parametro funciona quando você agrega com rangesum e ele serve pra retornar n valores acima do dado atual, então por exemplo se você esta na quarta linha essa função retornaria o dado da linha atual já que o segundo argumento é 0 e 4 elementos acima do dado atual e o rangesum somaria esse resultado acumulado.

Eu resolvi um desses esses dias, se der posta um exemplo se não conseguir, ou então da uma pesquisada em range sum e above.

Not applicable
Author

Guilherme,

Pode postar um QVW para teste?

Anonymous
Not applicable
Author

então pior q não posso 😕

Not applicable
Author

Tem uma maneira de postar o QVW com os dados embaralhados. Lei o post do cleveranjosComo obter ajuda? Leia antes de postar

Anonymous
Not applicable
Author

Eu tive um problema parecido com esse e resolvi com dessa forma aqui:

(RangeSum(Above(Sum(Peso_Liquido_Total),0,20)) / Sum(TOTAL Peso_Liquido_Total))

esse Sum(TOTAL Peso_Liquido_Total)) seria o seu sum({<TIPO={'REAIS'},PROVEDOR={teste}>}(VENDA))

o 20 no above eu deixei fixo porque meus dados não chegaram a 20 linhas, você pode usar um valor maior ou algo que identifique a linha atual com RowNo()

Anonymous
Not applicable
Author

Tente usar o rangesum()

rangesum( above(  "expressão percentual" , 0 , RowNo() )  )