Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Prezados,
possuo uma tabela simples usando como dimensão mes/ano e com 4 expressões: soma de realizado, soma de previsto, acumulado do previsto e acumulado do realizado. Porém o cliente deseja que o acumulado do realizado pare quando houver a ultima informação do realizado, alguém poderia me ajudar a solucionar esse problema???
em anexo uma imagem da tabela
Nesse exemplo que passei irá mostrar o mesmo valor para os demais meses do ano de 2013.
Você quer até o mês de set/2013, para os demais meses do ano você quer mostrar valor 0.
Para isso é necessário um Flag por mês e ao invés do flag por dia.
depois pode fazer a seguinte expressão.
RangeSum(Above(
Sum(Valor_Realizado)
,0,RowNo())) * Flg_Mes_Realizado
Para esse caso é necessário garantir que tenha apenas um valor do campo Flg_Mes_Realizado para cada um dos meses do ano.
Abraços.
Tonial.
Olá Paulo, Faça dois campos flag em sua dimensão de calendário, um para dias ou meses já realizados e outro para os projetados, depois faça a multiplicação dos valores pelos flags.
Ex.:
Sum(Valor_Realizado * Flg_Realizado)
Sum(Valor_Projetado * Flg_Projetado)
Exemplo de como criar os flags, colocando valores 0 ou 1.
If(Data<='$(vHoje)',1,0) as FlgRealizado, |
If(Data>'$(vHoje)',1,0) _as FlgProjetado,
Abraços.
Tonial.
Tonial,
incluindo essa flag vai fazer a função de Acumular parar na data escolhida??
na imagem anexada na mensagem anterior, quero que a ultima expressão só apresente valor até set/2013
Paulo André
Nesse exemplo que passei irá mostrar o mesmo valor para os demais meses do ano de 2013.
Você quer até o mês de set/2013, para os demais meses do ano você quer mostrar valor 0.
Para isso é necessário um Flag por mês e ao invés do flag por dia.
depois pode fazer a seguinte expressão.
RangeSum(Above(
Sum(Valor_Realizado)
,0,RowNo())) * Flg_Mes_Realizado
Para esse caso é necessário garantir que tenha apenas um valor do campo Flg_Mes_Realizado para cada um dos meses do ano.
Abraços.
Tonial.
Tonial,
Partindo da sua idéia, fiz da seguinte forma e deu certo:
- criar uma coluna de flag com a seguinte expressão (teste2)
if(sum({<DATA_ATUAL=, DATA_ATUAL_ANO=, DATA_ATUAL_MES=, DATA_ATUAL_DIA=,
DATA_ATUAL_MES_ANO={'<=$(=max(date('$(vD1)')))'} >} 1)>0,1,0)
onde vD1=data de referência
- em seguida criei a seguinte expressão
if(teste2=1,
RangeSum(Above(
Sum({<DATA_ATUAL=, DATA_ATUAL_ANO=, DATA_ATUAL_MES=, DATA_ATUAL_DIA=>} PROD_REALIZADA_TOTAL)
,0,RowNo())),
null())
com isso o acumulado para quando se atinge o último dia!!!
Obrigado pela dica
Ótimo Paulo.
Abraços.
Tonial.