Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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?
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.
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.,
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,
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.