Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Viva!
Estou com dificuldade em perceber porque é que uma fórmula usada numa coluna de uma Pivot Table, só funciona em alguns casos, será bug do Qlik view?
O que acontece é que tenho uma Pivot Table com duas dimensões Mês/Dia e com uma coluna onde é apresentado o valor acumulado de 2013 e outra com o valor acumulado de 2012.
Também utilizo duas variáveis vAnoSelecionado e vAnoAntSelecionado. A primeira tem o valor do ano que está selecionado (neste exemplo é 2013) e a segunda tem o valor do ano anterior (neste exemplo é 2012).
Para o calculo do acumulado de 2013 utilizei a formula:
(RangeSum(Above(TOTAL Sum({<Ano={$(vAnoSelecionado)}>} AggrVenda),0,RowNo(TOTAL))),Data)
... que funciona perfeitamente.
Similarmente, para o acumulado de 2012 utilizei a formula:
(RangeSum(Above(TOTAL Sum({<Ano={$(vAnoAntSelecionado)}>} AggrVenda),0,RowNo(TOTAL))),Data)
... que não funciona.
Não percebo porquê, a única diferença entre as formulas é a variável. Já tentei fazer o mesmo com os valores fixos 2013 e 2012, e o resultado foi o mesmo, ou seja, apenas funciona para o 2013 e não funciona para 2012.
Apresento uma imagem exemplificativa com dados fictícios:
Agradeço ajuda.
Cumprimentos,
Eduardo Ribeiro
Olá Eduardo,
Dá uma olhada no F1, o Above e o Before tem características diferentes em tabelas dinâmicas.
Retirado do QlikView Help:
rangeavg (above(sum(x),1,3)) | retorna uma média dos três resultados da função sum(x) avaliada nas três linhas imediatamente acima da atual. |
rangeavg (before(sum(x),1,3)) | retorna uma média dos três resultados da função sum(x) avaliada nas três colunas imediatamente à esquerda da atual. |
Abraço.
Olá Aderlan,
Eu já verifiquei o Help, mas o meu caso não se prende com a seleção da coluna a acumular.
O acumulado faz-se pelo valor do campo AggrVenda, que é carregado no script.
O meu problema é que alterando a instrução:
(RangeSum(Above(TOTAL Sum({<Ano={2013}>} AggrVenda),0,RowNo(TOTAL))),Data)
... funciona, sendo o '2013' o ano selecionado, e a instrução:
(RangeSum(Above(TOTAL Sum({<Ano={2012}>} AggrVenda),0,RowNo(TOTAL))),Data)
... não funciona, sendo o '2012' o ano anterior ao selecionado.
Obrigado.
Olá Eduardo,
Tem como colocar um QVW de exemplo com o seu problema.
Abraços.
Tonial.