Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
rogerioqv
Creator II
Creator II

Dados Acumulado no Sense

Caros,

Alguém já precisou acumular dados no Gráfico no Sense? Já tentei utilizando RangSum com Above e não consegui. A estrutura é a que está em anexo... a sintaxe utilizada para tentar fazer o acumulado foi:

RangeSum(Sum({1<[VENDA_APLICACAO.CODNOMEFORNECEDOR] = $::[VENDA_APLICACAO.CODNOMEFORNECEDOR],

       [VENDA_APLICACAO.LOJA] = $::[VENDA_APLICACAO.LOJA],

       [VENDA_APLICACAO.ANO] = {"<=$(vMaxAno)"},

       [VENDA_APLICACAO.MES] = $:: [VENDA_APLICACAO.MES],

       [VENDA_APLICACAO.APLICACAO] = $::[VENDA_APLICACAO.APLICACAO]>}[VENDA_APLICACAO.LIQUIDO]),

Above(

Sum({1<[VENDA_APLICACAO.CODNOMEFORNECEDOR] = $::[VENDA_APLICACAO.CODNOMEFORNECEDOR],

       [VENDA_APLICACAO.LOJA] = $::[VENDA_APLICACAO.LOJA],

       [VENDA_APLICACAO.ANO] = {"<=$(vMaxAno)"},

       [VENDA_APLICACAO.MES] = $:: [VENDA_APLICACAO.MES],

       [VENDA_APLICACAO.APLICACAO] = $::[VENDA_APLICACAO.APLICACAO]>}[VENDA_APLICACAO.LIQUIDO])

)

Acredito estar faltando algum Agrr ou algo a mais, pois sei que no gráfico ao exportar para excell as linhas são exibidas como mes, ano, dia e valor. Assim, ao usar o Above, não sei se ele vai entender as linhas de acordo com as dimensões (Mes e Ano).

Labels (1)
1 Solution

Accepted Solutions
pablolabbe
Luminary Alumni
Luminary Alumni

Oi Rogério,

  Use desta forma:

   rangesum (above( sum(), 0, rowno()))

   Onde sum() e sua expressão sum com o set analysis.

View solution in original post

3 Replies
pablolabbe
Luminary Alumni
Luminary Alumni

Oi Rogério,

  Use desta forma:

   rangesum (above( sum(), 0, rowno()))

   Onde sum() e sua expressão sum com o set analysis.

rogerioqv
Creator II
Creator II
Author

Pablo, obrigado pela ajuda, mas neste caso não funciona, pois ele acumula os anos, não os meses dentro dos anos... tive que criar uma medida para cada ano, daí sim, tanto o seu SA como o meu funcionaram.

Espero que o Sense aplique logo a função "acumular" conforme o Qlikview, pois algumas funções prontas no View levam muito tempo e lógica no Sense para serem replicadas.

Valeu!!!

pericles_silva
Contributor III
Contributor III

Meu camarada, o Pablo quase acertou sua dúvida, porém só faltou o RowNo() ignorar as dimensões com o qualificador Total.

Ou seja, quando sua tabela conter apenas uma dimensão, a do Pablo funcionará:

- RangeSum( Above( sum(Valor), 0, RowNo() ) )


Quando sua tabela conter duas ou mais dimensões, faça o RowNo() ignorar as dimensões:

- RangeSum( Above( sum(Valor), 0, RowNo(Total) ) )


Coloquei um print onde tem o Acumulado e o Acumulado Total. Dá uma olhada e verifica se essa era sua dúvida.

Capturar.PNG


Att,

Péricles.