Ir para conteúdo
  • 0

Soma da média dos ultiso tres meses


Dimona Laquis
Ir para solução Solucionado por Tiago Craici - Xperiun ,

Pergunta

  • Alunos

boa tarde! 

Preciso fazer a seguinte análise, preciso saber o total de vendas dos três meses anteriores ao mês atual 
depois disso preciso dividir pelo valor total do mês atual 

Vendas_Ultimo_Mes_Anterior_Formatado = CALCULATE(
    [Total_Parcela],
    DATEADD(dCalendarioPT[M/ANO -FECHAMENTO], -3, MONTH)

só que ele está me retornando o valor total
 Da soma da minha medida Total_Parcela 

Como eu poderia otimizar para eu pegar os valores corretos.?  

OBS: Estou usando ano fiscal, porque o mês começa no dia 26 de uma mês e termina no dia 25 do mês seguinte 

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Admin
5 horas atrás, Dimona Laquis disse:

boa tarde! 

Preciso fazer a seguinte análise, preciso saber o total de vendas dos três meses anteriores ao mês atual 
depois disso preciso dividir pelo valor total do mês atual 

Vendas_Ultimo_Mes_Anterior_Formatado = CALCULATE(
    [Total_Parcela],
    DATEADD(dCalendarioPT[M/ANO -FECHAMENTO], -3, MONTH)

só que ele está me retornando o valor total
 Da soma da minha medida Total_Parcela 

Como eu poderia otimizar para eu pegar os valores corretos.?  

OBS: Estou usando ano fiscal, porque o mês começa no dia 26 de uma mês e termina no dia 25 do mês seguinte 

Boa noite @Dimona Laquis


Veja se atente eu objetivo:
image.png.4a6616731766ac290778dc582f1e6433.png


Medidas:
Mês Sequência criada na dCalendario;
 

Mes sequencia =
var anoMin = min(dCalendario[Ano])
var mes = dCalendario[Mês]
var anoContexto = dCalendario[Ano]
var difAno =  anoContexto - anoMin
 
var resultado = SWITCH(TRUE(),
    difAno = 0, mes,
    difAno * 12 + mes
)
 
return resultado
 


 

Venda 3 ult M =
VAR vMesInicio =
    SELECTEDVALUE ( dCalendario[Mes sequencia] ) - 3
VAR DataMax =
    EOMONTH ( MAX ( dCalendario[Data] ), -1 )
VAR DataMin =
    CALCULATE (
        MIN ( dCalendario[Data] ),
        FILTER ( ALL ( dCalendario ), dCalendario[Mes sequencia] = vMesInicio )
    )
VAR VTotalContexto = [Total Venda]
VAR VVenda_3M_Ant =
    CALCULATE (
        [Total Venda],
        DATESBETWEEN ( dCalendario[Data], DataMin, DataMax )
    )
 
RETURN
VVenda_3M_Ant


 

Solucao Tiago =
VAR vMesInicio =
    SELECTEDVALUE ( dCalendario[Mes sequencia] ) - 3
VAR DataMax =
    EOMONTH ( MAX ( dCalendario[Data] ), -1 )
VAR DataMin =
    CALCULATE (
        MIN ( dCalendario[Data] ),
        FILTER ( ALL ( dCalendario ), dCalendario[Mes sequencia] = vMesInicio )
    )
VAR VTotalContexto = [Total Venda]
VAR VVenda_3M_Ant =
    CALCULATE (
        [Total Venda],
        DATESBETWEEN ( dCalendario[Data], DataMin, DataMax )
    )
 
RETURN
DIVIDE( VVenda_3M_Ant, VTotalContexto )


Para seu objetivo deverá adequar a coluna da dCalendario "Mes sequencia" para seu ano Fiscal. 


Em anexo pbix.



Sucesso! 🚀

Dimona.pbix

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

  • 0
  • Alunos

Só não consegui compreender o acumulo dos meses a partir de dessa parte selecionado em vermelho. 

image.png.53cb51dc071b016cc1f8273eafc42ca2.png

Eu estava ponderando começar a contar a partir de uma data específica que, nesse caso, seria o meu início fiscal. 

Porque começo a soma das vendas do dia 26 de um mês até o dia 25 do outro. 
Consegui colocar o meu ano fiscal para começar no dia 26 e o mês ser 1.
A minha maior dificuldade é parametrizar 

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...