Ir para conteúdo
  • 0

Acumulado Mês


Dimona Laquis
Ir para solução Solucionado por Leandro Del Rio ,

Pergunta

  • Alunos

Olá pessoal, boa noite! 
 

Estou tentando fazer um acúmulo de vendas, por datas. 
Exemplo: Se a minha última venda, foi no mês de agosto no dia 09, quero saber quanto vendi do dia primeiro até o dia 9. 
Mas eu também quero saber quanto vendi do dia 01 até o dia 9 dos outros meses.
 

Minha Medida para calcular o acumulo entre a data máxima de venda e o primeiro dia do mês correspondente.

AcumuladoPrimeiroDiaAteUltimaVenda =
VAR UltimaDataVenda = LASTDATE(VENDASCARTOES[Data])
VAR PrimeiroDiaMesUltimaVenda = DATE(YEAR(UltimaDataVenda), MONTH(UltimaDataVenda), 1)
VAR UltimoDiaComVendas = MAX(VENDASCARTOES[Data])
RETURN
     CALCULATE(
         [Total_Parcela],
         VENDASCARTOES[Data] >= PrimeiroDiaMesUltimaVenda && VENDASCARTOES[Data] <= UltimoDiaComVendas
    )
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

A alteração que você fez na fórmula faz com que o valor acumulado seja sempre menor que o maior dia de vendas, no seu caso dia 9 de um mês.

Quando você inserir o a condição  ( dcal[dia] <= vMaiorDiaVenda), neste caso dia 9, o valor acumulado será até o dia 9 de qualquer mês;

Para esse cálculo funcionar você tem que ter a coluna Dia na sua tabela calendário. 

Data = 09/08/2023

Dia = 9

Sugiro você separa em duas fórmulas, conforme imagem abaixo. Estou colocando as fórmulas para ajudar o entendimento.

No meu exemplo a maior venda ocorreu no dia 13, por isso os valores da medida "# Vendas MTD até dia X" só vão até o dia 13.

Acumulado mês

# Vendas MTD = CALCULATE(
                    TOTALMTD(
                        [# vendas],
                        dCalendario[ID Data]
                    ))
---------------------------------------------------------------------------------
# Vendas MTD até dia X =
VAR vMaiorDataVenda = CALCULATE(
                        MAX(fVendas[DataEmissao]),
                        REMOVEFILTERS(dCalendario)
                    )  
VAR vMaiorDiaVenda = DAY(vMaiorDataVenda)
 
VAr vResultado =CALCULATE(
                    TOTALMTD(
                        [# vendas],
                        dCalendario[ID Data]
                    ),
                dCalendario[Dia] <= vMaiorDiaVenda
)
RETURN
    vResultado

1.png

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

  • 0
  • Alunos

@Dimona Laquis,

 

Vê se a fórmula abaixo atende.
 

Qualquer dúvida posta novamente.

# Vendas MTD =
VAR vMaiorDataVenda = CALCULATE(
                        MAX(fVendas[DataEmissao]),
                        REMOVEFILTERS(dCalendario)
                    )  
VAR vMaiorDiaVenda = DAY(vMaiorDataVenda)
 
VAr vResultado =CALCULATE(
                    TOTALMTD(
                        [# vendas],
                        dCalendario[ID Data]
                    ),
                dCalendario[Dia] <= vMaiorDiaVenda
)
RETURN
    vResultado
  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Vendas MTD =
VAR vMaiorDataVenda = CALCULATE(
                        MAX(fVendas[Data]),
                        REMOVEFILTERS(dCal)
                    )  
VAR vMaiorDiaVenda = DAY(vMaiorDataVenda)
 
VAR vResultado = CALCULATE(
                    [Total],
                    DATESMTD(dCal[Data]),
                    dCal[Data] <= vMaiorDataVenda
                )
RETURN
    vResultado
 
 
Eu fiz algumas modificações, e me retornou o acumulo, só que agora eu tenho o problema do comparativo. 

Se a minha vMaiorDataVenda foi dia 09 de Julho, então eu vou saber o acumulado dela até 9 de julho, mas eu também preciso sabe quanto eu vendi até essa dia nos outros meses 
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...