3 Replies Latest reply: Aug 17, 2012 3:23 PM by Fernando Tonial RSS

    Diferença do ano anterior com ano atual

      Eu precisava fazer a diferença do ano anterior com o ano atual isso eu consigo usando Column(1) - Above(Column(1)), só que como eu faço para o ultimo ano(2012) que hoje vai até agosto, comparar com o mesmo periodo do ano de 2011, só q  o ano de 2011 vai comparar comparar com 2010 todos os meses, não só até agosto, alguem teria alguma dica?

        • Re: Diferença do ano anterior com ano atual
          Eduardo Oliveira

          Ishimada, bom dia.

           

          Poderia resolver utilizando Set Analisys e if simples em sua fórmula, mais ou menos assim:

           

           

          if(CampoAno <> year(today()),

               Column(1) - Above(Column(1)),

               sum({<CampoAno = {=year(today())} CampoValor) - sum({<CampoAno = {=year(today())-1,} ,CampoMes = {<=month(today()} CampoValor)

          )

           

          Dá apenas uma conferida na sintaxe do Set analisys.

           

          Att.,

          • Re: Diferença do ano anterior com ano atual

            Oi Ishimada,

            se deseja obter o resultado como expressão de um objeto do tipo gráfico acredito que possa fazer assim:

             

            Para ano atual (2012)

            definição da expressão: Sum (IF (Year(Today()) = [Ano da Data], [Valor Pago],0))

            rótulo da expressão: ='Valor em ' & Year(Today())

             

            Para ano anterior (2011)

            definição da expressão: Sum (IF ( (Year(Today()) -1) = Interval([Ano da Data]), [Valor Pago],0))

            rótulo da expressão: = 'Valor em ' & (Year(Today()) -1)

             

            obs.: A função interval formata a expressão como um intervalo de tempo

             

            Espero que ajude.

            Abs,

              • Re: Diferença do ano anterior com ano atual
                Fernando Tonial

                Olá,

                 

                Você pode fazer assim:

                 

                Crie um campo flag na sua tabela de calendário.

                 

                LET vHoje = Today();
                
                If(Data<='$(vHoje)',1,0)                              as FlgRealizado,
                

                 

                Crie 4 variáveis através do Menu Configuração > Visão Geral das Variáveis:

                 

                vInicioYTDAtual => =Max({<FlgRealizado={1}>} Data)
                vFimYTDAtual => =YearStart(Max({<FlgRealizado={1}>} Data))
                vInicioYTDAnterior => =AddYears(Max({<FlgRealizado={1}>} Data),-1)
                vFimYTDAnterior => =YearStart(AddYears(Max({<FlgRealizado={1}>} Data),-1))
                
                
                

                 

                Faça assim as duas expressões assim:

                 

                YTD Atual

                Sum({<Data={">=$(vInicioYTDAtual)<=$(vFimYTDAtual)"}, Mês=, Ano=>} Venda_Liquida)
                

                 

                YTD Anterior

                Sum({<Data={">=$(vInicioYTDAnterior)<=$(vFimYTDAnterior)"}, Mês=, Ano=>} Venda_Liquida)
                

                 

                Fazendo assim sempre para o cada ano será a maior data do ano, no caso de 2012 será 16/08/2012 e 2011 será 31/12/2011.

                 

                Espero ter ajudado.

                 

                Abraços.

                Tonial.