Ir para conteúdo
  • 0

Projeção de Vendas Acumuladas usando Média ($ Forecast Media MTD)


Clerisson Tank
Ir para solução Solucionado por reinaldoc ,

Pergunta

  • Alunos

Olá, 
Estou fazendo um gráfico com de linhas com vendas acumuladas + projeção de vendas baseado na média do mês em questão.
Usei o vídeo do Leo para montar o visual.
Porém a média que ele usa no vídeo dele não atende minha necessidade (pois a empresa pode iniciar o faturamento no domingo a noite, dia não útil, distorcendo o valor da média).
 

Como calcular a média? (neste exemplo):
      1-  Entre os dia 01/06 e 18/06 se passaram 12 dias úteis. 

      2- A faturamento acumulado do mês até dia 18/6 é de R$ 2.004.676,74
      3- Portanto: Fat/DiasÚteis = R$ 167.056,40

Então: Após a última data de faturamento 18/6 (mtd de R$ 2.004.676,74), deve-se somar a Média a cada Dia Útil.


Obs: 
1- Mostrei o detalhamento em tabela, mas posteriormente irei colocar a medida em um gráfico de linha.
2- Se atentar que é necessário considerar DIAS ÚTEIS.
3- Pode haver NF emitida no domingo a noite, porém, isso atrapalha o uso da função average.

Algumas Medidas de Referência:
 

$ Forecast Media MTD =
 SUMX(
    DATESMTD(dCalendario[Data]),
    [$ Forecast Media]
    )

 

$ Forecast Media =
var _MediaVendas = AVERAGEX(ALLSELECTED(dCalendario),[Vl Vendas])
var _DataAtual = SELECTEDVALUE(dCalendario[Data])
var _datamax = CALCULATE(MAX(fVendasMov[Data]),ALL(fVendasMov))
 
RETURN
IF(_DataAtual>_datamax,
   _MediaVendas,
   [Vl Vendas]
)

 

 

 

HelpForum Detalhes.jpg

visual para uso final.png

HelpForum Detalhes2.jpg

excel resultado esperado.xlsx Vendas07help.pbix

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

A sua medida de conferência parece estar errada, após corrigir ficou igual:

 

Media Vendas projecao = 
    IF(
        AND(
            SELECTEDVALUE(dCalendario[Dia Util]) = "Sim",
            SELECTEDVALUE(dCalendario[Data]) > [Data Max]
        ),
        DIVIDE(
            CALCULATE([Vl Vendas], ALLSELECTED(dCalendario), dCalendario[Dia Util] = "Sim"),
            [dias Uteis Contexto]
        ),
        BLANK()
    )

 

Você pode fazer esse ajuste nessa medida:

$ Forecast Media = 
var _MediaVendas =
  CALCULATE(
    AVERAGEX(ALLSELECTED(dCalendario), [Vl Vendas]),
    dCalendario[Dia Util] = "Sim"
  )
var _DataAtual = SELECTEDVALUE(dCalendario[Data])
var _datamax = CALCULATE(MAX(fVendasMov[Data]),ALL(fVendasMov))

RETURN
IF(_DataAtual>_datamax,
   IF(SELECTEDVALUE(dCalendario[Dia Util]) = "Sim",_MediaVendas),
   [Vl Vendas]
)

 

 

image.png.91a7efcfd941ebb8d7bf5ab35bc88893.png

 

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

  • 0
  • Alunos

Olá Reinaldo, 

A média que eu havia passado está correta mesmo.

Mas suas medidas me ajudaram a chegar no resultado que eu desejava:

aaMedia Vendas projecao2 =
    IF(
        AND(
            SELECTEDVALUE(dCalendario[Dia Util]) = "Sim",
            SELECTEDVALUE(dCalendario[Data]) > [Data Max]
        )
        ,
        DIVIDE(
            CALCULATE([Vl Vendas], ALLSELECTED(dCalendario)),
            [dias Uteis Contexto]
        ),
        BLANK()
    )

 

aa$ Forecast Media2 =
var _MediaVendas = [aaMedia Vendas projecao2]
  //CALCULATE(
  //  AVERAGEX(ALLSELECTED(dCalendario), [Vl Vendas])
  //  ,
  //  dCalendario[Dia Util] = "Sim"
  //)
var _DataAtual = SELECTEDVALUE(dCalendario[Data])
var _datamax = CALCULATE(MAX(fVendasMov[Data]),ALL(fVendasMov))
 
RETURN
IF(_DataAtual>_datamax,
   IF(SELECTEDVALUE(dCalendario[Dia Util]) = "Sim",_MediaVendas),
   [Vl Vendas]
)

 

aa$ Forecast Media MTD =
 SUMX(
    DATESMTD(dCalendario[Data]),
    [aa$ Forecast Media2]
    )

 

image.png.9825f200321fc139b5371032d521cce5.png

 

A tabela da esquerda é resultado das tuas medidas.
A tabela da direita é resultado das medidas ajustadas.


@reinaldoc, eu estava alguns dias patinando para corrigir as minhas medidas. Com sua ajuda, consegui chegar no resultado esperado, muito obrigado.

Segue resultado:

image.png.f4f5ebe012643ea9cd2ffa6b7ed31449.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Boa tarde a todos!

Estou com problema muito semelhante ao  apresentado pelo Clerisson Tank

Tentei fazer os ajustes propostos, mas não obtive sucesso.

Não estou conseguindo acumular a média após a data max. Não sei se é a granularidade, pois estou utilizando mês e não dia (data).

5) Forecast Liq Media =
VAR _Media = AVERAGEX(ALLSELECTED(dCalendario), [1) LIQ/LOA])
VAR _DataAtual = SELECTEDVALUE(dCalendario[Date])
VAR _DataMax =
CALCULATE(
    MAX(dDocRef[dt_emissao_doc_ref]),
    ALL()
)
RETURN
IF(
    _DataAtual > _DataMax,
    _Media,
    [1) LIQ/LOA]
)

image.png.301519ad67e9081df73a258ce6974a47.png

Se alguém visualizar o erro, agredeço.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
19 horas atrás, Silvano Spada disse:

Boa tarde a todos!

Estou com problema muito semelhante ao  apresentado pelo Clerisson Tank

Tentei fazer os ajustes propostos, mas não obtive sucesso.

Não estou conseguindo acumular a média após a data max. Não sei se é a granularidade, pois estou utilizando mês e não dia (data).

5) Forecast Liq Media =
VAR _Media = AVERAGEX(ALLSELECTED(dCalendario), [1) LIQ/LOA])
VAR _DataAtual = SELECTEDVALUE(dCalendario[Date])
VAR _DataMax =
CALCULATE(
    MAX(dDocRef[dt_emissao_doc_ref]),
    ALL()
)
RETURN
IF(
    _DataAtual > _DataMax,
    _Media,
    [1) LIQ/LOA]
)

image.png.301519ad67e9081df73a258ce6974a47.png

Se alguém visualizar o erro, agredeço.

Bom dia a todos.

Consegui ajustar a medida:

5.1) Forecasting Liq Media 2 =
VAR _DataMax = CALCULATE(MAX(dDocRef[dt_emissao_doc_ref]),ALL(dCalendario))
VAR _vDataEixo = MIN(dCalendario[Date])
VAR _vAnoEixo = YEAR(_vDataEixo)
VAR _vMesEixo = MONTH(_vDataEixo)
VAR _Media = AVERAGEX(ALL(dCalendario[Mês], dCalendario[Nome Mês]), [1) LIQ/LOA])
RETURN
IF(
    _vDataEixo > _DataMax,
    _Media,
    [1) LIQ/LOA]
)

Só que nem tudo é maravilha...

Agora não estou conseguindo acumular a projeção (média dos meses anteriores)

6) Forecasting Liq Media Acum YTD =
SUMX(
    DATESYTD(dCalendario[Date]),
        [5.1) Forecasting Liq Media 2]
)

image.png.3c5a236b02d91be46d070e5658cff6c7.png

 

Peço ajuda para acumular o Forecasting...
 

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