Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Somar Valores da Coluna do Lado

Boa Tarde, estou fazendo uma tabela de comparação entre Vendas x Média de Vendas

Segue o modelo abaixo. Da forma que eu fiz apenas o mes 01 e 02 ficaram certo.

consolidado.jpg

Sendo a Média Formado Pelo seguinte

Mes 01 = Total Geral Mes 01 / Mes(1) = xxxx

Mes 02 = Total Geral Mes 01 + Total Geral Mes 02 / Mes(2) = xxxx

Mes 03 = Total Geral Mes 01 + Total Geral Mes 02 + Total Geral Mes 03  / Mes(3) = xxxx

Tem alguma Forma de fazer conta ? é uma questão de logica imagino eu....

Obrigado.

1 Solution

Accepted Solutions
nicolett_yuri

Acho que essa expressão resolve "melhor" o seu problema:

rangesum(Above(Column(4),0,RowNo()-1))/(RowNo()-1)

da uma olhada no anexo.

View solution in original post

8 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Boa tarde Carlos,

Nesse caso você deve usar a função Above.

Algo assim:

(Sum([Total Geral])+Above(Sum([Total Geral]))) / avg([Média])

Tenta ai, se puder, posta um QVW de exemplo que facilita bastante.

Não esqueça dos parenteses, são importantes para o resultado!

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Fiz um exemplo um pouco parecido, segue o anexo.

Not applicable
Author

Tentei fazer dessa forma que voce falou, mas nao deu certo.

Ele soma os 2 primeiros meses e divide pelos meses.

aderlanrm
Partner - Specialist
Partner - Specialist

Olá Carlos, blz?

Então... Tenta o seguinte:

RangeSum(Above(Sum([Total Geral]),0,RowNo()))/Avg([Total Geral])

Também observei que talvez a primeira linha "TOTAL", você não quer que seja carregada, então acrescenta Where IsNum(MES) no seu load, vai carregar somente os valores numericos nessa coluna.

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Ficou nullo os valores, vou analisar melhor a tarde as ideias postadas aqui ai aviso.

Obrigado pelo ajuda.

Not applicable
Author

Fiz da seguinte forma, nao sei se é o mais correto, mas dei um bom trabalho hahaha.

IF(MES='01',TOTAL MES01,

if(MES='02',(Column(10)+ above(Column(10),1))/2,

if(MES='03',(Column(10)+ above(Column(10),1) + above(Column(10),2))/3,

if(MES='04',(Column(10)+ above(Column(10),1) + above(Column(10),2)+ Above(Column(10),3))/4,

if(MES='05',(Column(10)+ above(Column(10),1) + above(Column(10),2)+ Above(Column(10),3) + Above(Column(10),4))/5,

if(MES='06',(Column(10)+ above(Column(10),1) + above(Column(10),2)+ Above(Column(10),3) + Above(Column(10),4)+Above(Column(10),5))/6,

if(MES='07',(Column(10)+ above(Column(10),1) + above(Column(10),2)+ Above(Column(10),3) + Above(Column(10),4)+Above(Column(10),5) + Above(Column(10),6))/7,

if(MES='08',(Column(10)+ above(Column(10),1) + above(Column(10),2)+ Above(Column(10),3) + Above(Column(10),4)+Above(Column(10),5) + Above(Column(10),6)+ Above(Column(10),7))/8,

if(MES='09',(Column(10)+ above(Column(10),1) + above(Column(10),2)+ Above(Column(10),3) + Above(Column(10),4)+Above(Column(10),5) + Above(Column(10),6)+ Above(Column(10),7)+ Above(Column(10),8))/9,

if(MES='10',(Column(10)+ above(Column(10),1) + above(Column(10),2)+ Above(Column(10),3) + Above(Column(10),4)+Above(Column(10),5) + Above(Column(10),6)+ Above(Column(10),7)+ Above(Column(10),8)+Above(Column(10),9))/10,

if(MES='11',(Column(10)+ above(Column(10),1) + above(Column(10),2)+ Above(Column(10),3) + Above(Column(10),4)+Above(Column(10),5) + Above(Column(10),6)+ Above(Column(10),7)+ Above(Column(10),8)+Above(Column(10),9)+ Above(Column(10),10))/11,

if(MES='12',(Column(10)+ above(Column(10),1) + above(Column(10),2)+ Above(Column(10),3) + Above(Column(10),4)+Above(Column(10),5) + Above(Column(10),6)+ Above(Column(10),7)+ Above(Column(10),8)+Above(Column(10),9)+ Above(Column(10),10)+ Above(Column(10),11))/12,

))))))))))))

Not applicable
Author

A logica foi a seguinte, quando o mes é 2

ele soma sua coluna(10) mais a coluna(10) do mes1

quando for mes 3 ele incrementa na conta a coluna(10) do mes 3.

nicolett_yuri

Acho que essa expressão resolve "melhor" o seu problema:

rangesum(Above(Column(4),0,RowNo()-1))/(RowNo()-1)

da uma olhada no anexo.