Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde pessoal,
Estou com uma dificuldade em resolver uma questão utilizando o set analysis.
A expressão tem que retornar o valor do ano anterior, mas a expressão que eu montei me retorna somente se existir um ano selecionado:
SUM({$<ANO={$(=ONLY(ANO)-1)}>} TOTAL VALOR)
A idéia é utilizar a mesma regra do set analysis para fazer uma expressão em que eu consiga definir o ano anterior, e também o Mês/Ano anterior do atual:
Com testes que realizei acredito que o problema esteja neste trecho "=ONLY(ANO)-1", porque se eu inserir manualmente um ano especifico, por exemplo: 2011 todos os anos demonstram a mesma informação.
Segue em anexo um arquivo de exemplo.
Entendi,
tente algo tipo :
aggr( above(sum(valor)), Ano , MesAno )
acho que com agregação tem como fazer
Boa tarde,
Esse é um problema do set Analysis que até hoje não consegui resolver, a expressão, dentro do set analysis , primeiro é executada para depois, o que estiver dentro do sum(), considerar a dimensão.
Não sei qual seria a situação, mas acredito que o mais fácil é fazer com before() e after() .. caso você não va utiliza-lo em uma tabela com dimensão Ano, você pode usar a mesma função before() ou after() dentro de uma agregação,
aggr(expressão , dimensão).
caso seja referente ao Ano atual , e o Ano anterior, da para usar o max ou maxstring no lugar do only ...
Depende muito de como você vai usar isso, talvéz se você puder postar qual seria essa situação mais complexa, fique mais facil de dar uma idéia.
Rodrigo,
No caso em que estou tentando resolver, seria em uma tabela dinâmica onde teria como dimensão "Grupo", "Ano" e "Ano-Mês".
As dimensões Ano e Ano-Mês é transformada em colunas, arrastando as dimensões:
Grupo | 2011 | 2012 | ||||||
2011-01 | 2011-02 | 2012-01 | 2012-02 | |||||
Anterior | Atual | Anterior | Atual | Anterior | Atual | Anterior | Atual | |
A | 0 | 1 | 0 | 7 | 1 | 10 | 7 | 13 |
B | 0 | 2 | 0 | 8 | 2 | 11 | 8 | 14 |
C | 0 | 3 | 0 | 9 | 3 | 12 | 9 | 15 |
O problema de utilizar o before(), after() é que você precisa definir a quantidade de registros anteriores que precisa voltar, já no set analysis você só define o periodo que deseja realizar a conta.
Pode ser que não exista valores em um determinado mês, se utilizar estas funções o retorno das informações podem não condizer com o mês que esta sendo analisado.
Att,
Entendi,
tente algo tipo :
aggr( above(sum(valor)), Ano , MesAno )
acho que com agregação tem como fazer
Olá Eduardo, da uma olhada no anexo...
Algumas observações:
* Estou usando o rangesum para poder trabalhar com vários valores
* Parametrizei o before com TOTAL, para que ele funcione com mais dimensões
* O número de passos para retroceder eu acabo tendo que informar se usar o before, como você mesmo comentou... neste caso coloquei a função GetPossibleCount para ficar dinâmico
* Para o exemplo em questão atendeu, só não estou certo se isto vai funcionar para o seu problema.
Abraços.
Rodrigo e Cesar,
Obrigado pelo retorno, assim que eu realizar a verificação aviso se deu certo ou não.
Grato,
Obrigado pela ajuda, desculpem a demora para responder, mas não tinha tempo para verificar a questão.
Resolveu utilizando a função ABOVE()
Obrigado