Ir para conteúdo
  • 0

COMPARATIVO ENTRE MÊS ATUAL E MÊS ANTERIOR


FrancoAndre
Ir para solução Solucionado por Joao Barbosa ,

Pergunta

  • Alunos

Senhores(as), estou com um problema em uma medida para calcular o mês atual e mês anterior. O problema é que a porcentagem não está batendo como esperado, conforme imagem abaixo:

image.png.3e1c5d813cdf1bb857dc6d88f88bdf76.png

 

Um detalhe foi que filtrei essa tabela de comparativo de acordo um filtro de Data Relativa, tentei fazer isso diretamente na formula utilizando uma regra que respeitasse sempre o último mês vigente fazendo o calculo com o anterior, porém não consegui. 

 

A medida é essa:

image.png.7d21271ff075bbd97a801e752bb39268.png

 

A [Total KM] é um dos exemplos e no total foram criadas mais 13 formulas idênticas para cada um dos indicadores (Transações -> [Total TransLiberadas], Veículos -> [Total de Veiculos] etc).

 

O arquivo pbix segue em anexo.

BI Controles de Sistemas de Frota.pbix

Editado por FrancoAndre
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução
45 minutos atrás, FrancoAndre disse:

Senhores(as), estou com um problema em uma medida para calcular o mês atual e mês anterior. O problema é que a porcentagem não está batendo como esperado, conforme imagem abaixo:

image.png.3e1c5d813cdf1bb857dc6d88f88bdf76.png

 

Um detalhe foi que filtrei essa tabela de comparativo de acordo um filtro de Data Relativa, tentei fazer isso diretamente na formula utilizando uma regra que respeitasse sempre o último mês vigente fazendo o calculo com o anterior, porém não consegui. 

 

A medida é essa:

image.png.7d21271ff075bbd97a801e752bb39268.png

 

A [Total KM] é um dos exemplos e no total foram criadas mais 13 formulas idênticas para cada um dos indicadores (Transações -> [Total TransLiberadas], Veículos -> [Total de Veiculos] etc).

 

O arquivo pbix segue em anexo.

BI Controles de Sistemas de Frota.pbix 4 MB · 0 downloads

Cara pelo que entendi você quer sempre comparar o último mês de dados com o anterior se for isso , acho que essas alterações na sua medida resolve .

 

Variação Transacao =
 
--- Calcula a data máxima do penultimo mês
var vinicio = EDATE(ENDOFMONTH(ALL(D_Calendario[Data])),-1)
--- Calcula a data máxima da do ultimo mês da tabela
var datamaxima = ENDOFMONTH(ALL(D_Calendario[Data]))
 
--- busca o valor do mês anterior
VAR MesAnterior =
CALCULATE(
[TotalTransação],
DATESINPERIOD(D_Calendario[Data],vinicio,-1,
MONTH
)
)
 
--- busca o valor do mês atual
var mesatual =
CALCULATE(
[TotalTransação],
DATESINPERIOD(D_Calendario[Data],datamaxima,-1,
MONTH
)
)
 
var resultado =
DIVIDE(
mesatual - MesAnterior,
mesatual,
"Sem Referência"
)
 
return
 
resultado
  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 1
  • Alunos

Veja se lhe atende, o problema de armazenar esses valores em variáveis é a parte de transição de contexto. Fiz de forma separada.

Veja também se nessa sua estrutura você consegue deixar menos "chumbado" as informações, porque pelo que ví você está criando uma medida para cada linha da sua tabela, tenta pensar alguma forma pra deixar isso mais dinâmico, de uma forma que você utilize a mesma medida para várias situações.

 

Se te ajudei, marque a resposta como correta para ajudar a galera do fórum. 

Forte abraço.

53030759_BIControlesdeSistemasdeFrota.pbix

  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
14 horas atrás, Joao Barbosa disse:

Cara pelo que entendi você quer sempre comparar o último mês de dados com o anterior se for isso , acho que essas alterações na sua medida resolve .

 

Variação Transacao =
 
--- Calcula a data máxima do penultimo mês
var vinicio = EDATE(ENDOFMONTH(ALL(D_Calendario[Data])),-1)
--- Calcula a data máxima da do ultimo mês da tabela
var datamaxima = ENDOFMONTH(ALL(D_Calendario[Data]))
 
--- busca o valor do mês anterior
VAR MesAnterior =
CALCULATE(
[TotalTransação],
DATESINPERIOD(D_Calendario[Data],vinicio,-1,
MONTH
)
)
 
--- busca o valor do mês atual
var mesatual =
CALCULATE(
[TotalTransação],
DATESINPERIOD(D_Calendario[Data],datamaxima,-1,
MONTH
)
)
 
var resultado =
DIVIDE(
mesatual - MesAnterior,
mesatual,
"Sem Referência"
)
 
return
 
resultado

Perfeito, João! Sua resposta já atendeu o que pretendia.

 

Visando melhor performance, tentei encaixar a sua medida no Tabular Editor em uma calculation group substituindo o  [Total Transacao] por SELECTEDMEASURE( ), porém o calculo não apareceu como esperado. Sabe como pode me ajudar?


image.png.51e363a4f58b74acbf79e2c1b4352600.png

 

image.png.5f81df73a9d8976db4b6b67cda8237ec.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
12 minutos atrás, FrancoAndre disse:

Perfeito, João! Sua resposta já atendeu o que pretendia.

 

Visando melhor performance, tentei encaixar a sua medida no Tabular Editor em uma calculation group substituindo o  [Total Transacao] por SELECTEDMEASURE( ), porém o calculo não apareceu como esperado. Sabe como pode me ajudar?


image.png.51e363a4f58b74acbf79e2c1b4352600.png

 

Vou testar aqui o que pode estar havendo.

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...