Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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))))
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.
Guilherme,
Pode postar um QVW para teste?
então pior q não posso 😕
Tem uma maneira de postar o QVW com os dados embaralhados. Lei o post do cleveranjos Como obter ajuda? Leia antes de postar
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()
Tente usar o rangesum()
rangesum( above( "expressão percentual" , 0 , RowNo() ) )
Se não abrir, veja por esse link: https://blogdonicolett.com.br/2015/05/31/acumulado-com-expressao/