Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal,
Tenho uma tabela dinâmica (Que lista faturamento do ano selecionado, o faturamento do ano anterior, e a razão entre eles) com a dimensão FullName na linha e Mês na coluna. E como medida estou com a seguinte fórmula:
Sum(
{<
Ano={'$(=max(Ano)-1)'},
[Flag]=,
FullName=p({<Ano={'$(=max(Ano))'}, [Flag]='ANO-1'>}FullName)
>}
FAT)
Eu estou somando o Faturamento do ano anterior à seleção, desconsiderando a seleção do Flag, e considerando apenas os FullNames do ano selecionado onde o campo Flag for igual à 'ANO-1'.
O problema está na linha (o objetivo dela é retornar para cada mês o seu universo de FullNames, mas essa expressão está retornando para todos os meses o conjunto de FullName do ano todo):
FullName=p({<Ano={'$(=max(Ano))'}, [Flag]='ANO-1'>}FullName)
Essa linha retorna a relação de FullNames que devem ser considerados (e o valor está certo), mas na quebra de mês o valor fica errado.
Por exemplo, eu tenho no ano inteiro uma coleção de 100 FullNames, mas em Janeiro são apenas 90 FullNames.
Essa fórmula está calculando o faturamento mensal considerando os 100 FullNames para todos os mêses, quando para Janeiro deveria ser considerado 90, para fevereiro só 70 e assim por diante.
Alguém sabe fazer o set analysis:
FullName=p({<Ano={'$(=max(Ano))'}, [Flag]='ANO-1'>}FullName)
Ser calculado respeitando a quebra de dimensão de Mês da tabela?
Att,
Thiago.
A rigor (*) isso não é possível pelo fato que um Set Analysis é calculado antes da agregação por cada linha/dimensão do seu gráfico.
Isso é explicado pelo hic em https://community.qlik.com/blogs/qlikviewdesignblog/2015/02/16/set-analysis
"The condition, however, is in itself like a selection that is evaluated before the cube (the chart) is expanded. Hence, it is not possible to have a condition that is evaluated row by row."
(*) uma alternativa : Evaluating "sets" in the context of a dimension
Como o Clever falou, ou você faz por IF ou por Calendário AsOf
Exemplo de AsOf: