Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia à todos,
Estou com uma dinâmica no qlikview a qual preciso calcular o valor acumulado de alguns indicadores em meses pivoteados.
Tenho utilizado a função Before, porém o resultado tem apresentado desvio para algumas linhas.
Ate o momento tenho utilizado a expressão abaixo:
Num(
If(Indicator='AARP',
rangesum(Before(sum({<Indicator={'TARP'}>}Plan),0,ColumnNo()))/rangesum(Before(sum({<Indicator={'Sales'}>}Plan),0,ColumnNo())),
if(Indicator='T/MC',
rangesum(Before(sum({<Indicator={'TARP'}>}Plan),0,ColumnNo()))/rangesum(Before(sum({<Indicator={'Solicitation Cost'}>}Plan),0,ColumnNo())),
if(Indicator='Response Rate',
rangesum(Before(sum({<Indicator={'Sales'}>}Plan),0,ColumnNo()))/rangesum(Before(sum({<Indicator={'Leads'}>}Plan),0,ColumnNo())),
rangesum(Before(Total sum(Plan),0,ColumnNo()))))),
if(Indicator='AARP','#.##0,00',if(Indicator='T/MC', '#.##0,00', if(Indicator='Response Rate', '#.##0,00','#.##0'))))
Também tentei considerando a função AGGR, porém o resultado é o mesmo.
Num(
If(Indicator='AARP',
rangesum(Before(sum(aggr(sum({<Indicator={'TARP'}>}Plan),S6_Campaign_Country_ID,S6_Sponsor_DESC,Planned_Launch_Month)),0,ColumnNo()))/
rangesum(Before(sum(Aggr(sum({<Indicator={'Sales'}>}Plan),S6_Campaign_Country_ID,S6_Sponsor_DESC,Planned_Launch_Month)),0,ColumnNo())),
if(Indicator='T/MC',
rangesum(Before(sum(Aggr(sum({<Indicator={'TARP'}>}Plan),S6_Campaign_Country_ID,S6_Sponsor_DESC,Planned_Launch_Month)),0,ColumnNo()))/
rangesum(Before(sum(Aggr(sum({<Indicator={'Solicitation Cost'}>}Plan),S6_Campaign_Country_ID,S6_Sponsor_DESC,Planned_Launch_Month)),0,ColumnNo())),
if(Indicator='Response Rate',
rangesum(Before(sum(Aggr(sum({<Indicator={'Sales'}>}Plan),S6_Campaign_Country_ID,S6_Sponsor_DESC,Planned_Launch_Month)),0,ColumnNo()))/
rangesum(Before(sum(Aggr(sum({<Indicator={'Leads'}>}Plan),S6_Campaign_Country_ID,S6_Sponsor_DESC,Planned_Launch_Month)),0,ColumnNo())),
rangesum(Before(sum(Aggr(sum(Plan),S6_Campaign_Country_ID,S6_Sponsor_DESC,Planned_Launch_Month)),0,ColumnNo()))))),
if(Indicator='AARP','#.##0,00',if(Indicator='T/MC', '#.##0,00', if(Indicator='Response Rate', '#.##0,00','#.##0'))))
Abaixo evidencia sobre os desvios nos cálculos acumulados:
O engraçado é que na linha total ele faz o calculo da forma correta.
Desde já Agradeço sugestões e suporte.
Obrigado
Bom dia,
Descobri o que causava o problema do acumulo incorreto quando utilizada a função "Before"!
O desvio ocorria por conta de uma simples configuração na aba Apresentação onde a flag "Ocultar Zeros" não pode estar marcada assim os cálculos pivoteados serão realizados perfeitamente para todas as linhas.
De fato a expressão estava correta.
Olá Thiago,
Não entendi o porque de você utilizar o set analysis ali na expressão.
Fiz algo parecido aqui: urgent help - is this possible ?? how to achive this in pivot table..??
Como estão seus dados?
Você consegue disponibilizar o app?
Felipe.
Olá Felipe,
De antemão lhe agradeço a atenção sobre este problema.
Estou usando Set analise por que precisei criar uma especie de item calculado para resolver 3 indicadores na Pivot.
Quanto ao problema com a função Before, ! o que tem me confundido é que na linha do sub total por exemplo ele faz o acumulo perfeitamente o que da a entender que não há erro na expressão.
estou anexando o app aqui para sua analise.
Obrigado novamente !
Bom dia,
Descobri o que causava o problema do acumulo incorreto quando utilizada a função "Before"!
O desvio ocorria por conta de uma simples configuração na aba Apresentação onde a flag "Ocultar Zeros" não pode estar marcada assim os cálculos pivoteados serão realizados perfeitamente para todas as linhas.
De fato a expressão estava correta.