Ir para conteúdo
  • 0

Soma Acumulada / Média Acumulada


Carlos Eduardo Silva
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

13 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

@Carlos Eduardo Silva, veja que no visual que a Karine explicou,  temos ano e mês dentro do visual, porém no seu caso só tem o dia dentrodo visual, mas os meses e anos são filtros externos. 

Logo,  o contexto de filtro de cada linha do seu visual é diferente do contexto de filtro de cada linha do visual da Karine.

Cada caso tem que ser analisado com suas devidas particularidades. 

Ainda não entendi bem qual está sendo a sua dificuldade de entendimento.  É normal ter dificuldade no começo para entender contexto de filtro e de linha e como modificar um contexto de filtro.

Recomendo você assistir as.aulas de DAX do Leo a respeito deste assunto e sobre as funções ALL e ALLSELECTED.

Se tiver mais alguma dúvida,  estou à disposição. 

Um abraço e fica com Deus!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Se entendi bem você quer saber pq a primeira formula não funcionou, na tabela que você mostra aparece apenas ano e dia, não sei se filtra o mês em filtro externo, mas pode ser isso. Ja na formula datesmtd ele força a seleção a nivel mês. 

Tenta colocar um filtro de mês para testar se funciona a primeira formula

Editado por Yuri Ximenes De Figueiredo Mota
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
8 horas atrás, Bruno Abdalla de Souza disse:

Anexa o pbix e diga qual a medida não está funcionando, por favor. 

Coloquei um exemplo com o uso de ALLSelect e retorna corretamente. Usando ALL não funciona. Queria entender o pq. Nas aulas que assisti, todos usam o ALL

Se quiser olhar o pbix, pode pegar aquele exemplo que vc me ajudou em outro momento. Basicamente é o mesmo só que com mais informações agora. 

1.JPG

2.JPG

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Vi que vc tem um filtro externo de ano, que está selecionado 2024.

Usando ao ALLSELECTED, ele vai respeitar este filtro externo, ignorando apenas os filtros internos do visual.

Se você usar o ALL, ele vai ignorar o ano de 2024 e vai trazer para todos os anos. Logo, na FILTER, vai trazer todas as datas anteriores ao dia do contexto que está dentro do visual, inclusive datas de anos anteriores a 2024.

Não sei se deu para entender, mas acredito que seja isso.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Bruno, eu coloquei essa imagem pq a fórmula usada no vídeo é igual a fórmula que mencionei que não deu certo com o uso do ALL. É isso quero entender o pq no meu contexto não funcionou. Todos os vídeos que vi, são com a ALL. Esse vídeo é da Karine que explica a soma acumulada. Com base nela que fui fazer e não funcionou

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Vamos pegar a linha de janeiro,  dia 14. Só como exemplo. 

Como não há filtro de.ano externo e nem interno,  isso significa que neste contexto temos todas as datas de 14 de janeiro de todos os anos. 

Quando você usa a função  MAX(dCalendario[Data]), ela clvai retornar o dia 14 de janeiro do último ano que vc tem na dCalendario. 

Logo,  na FILTER, ao usar ALL(dCalendario), você está ignorando todos os filtros da dCalendario (neste caso,  ano do filtro externo,  mês e dia do visual). Depois vc diz na própria FILTER que a data tem que ser menor que o último 14 de janeiro da dCalendario. 

Provavelmente nesta data de 14 de janeiro do último nao da dCalendario, vc já tem todos os valores da tabela fato. Por isso os valores não mudam. 

Mas para ter certeza,  só vc anexando o pbix.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Carlos Eduardo Silva, esse é o modelo que fiz com os seus dados que aparecem nos prints.
Logicamente os dados anteriores a setembro são diferentes, apenas para ilustrar a questão.
 

image.png.754be4c531fc7035a066a7f387efe18e.png

O porque da diferença entre Acumulado ALL e ALLSELECTED:
- ALL vai buscar todas as datas do calendário, desde o início do Calendário,
  independente de estarem visíveis ou não no visual (mesmo que vc não queira...)
- ALLSELECTED vai considerar somente as datas resultantes dos filtros Externos
que  estiverem aplicados, seja nos slicers ou no painel de filtros lateral.

Seus dados neste tópico mostram que existe uma Produção Total Anterior a
setembro/2024 de 4.527.882 unidades de produto.
Essa é a quantidade que causa a diferença entre os filtros ALL e ALLSELECTED.

Agora, na medida de MÉDIA ACUMULADA MENSAL, você usou a função DATESMTD
dentro da calculate. Essa função cria uma tabela interna de datas que é imune
ao filtro ALL, por isso a média acumulada tem um comportamento diferente.
Veja a medida ACUMULADO (ALL + DATESMTD) - é só um exemplo.

No modelo anexo, eu coloquei esse valor total numa data anterior aleatória
porque não faz diferença para o ALL.

É isso que o @Yuri Ximenes De Figueiredo Mota e o @Bruno Abdalla de Souza
estão falando desde o início da discussão.

Esse é o motivo de pedirmos que seja anexado um pbix de exemplo com dados atualizados.
Facilita muito , lembre-se que não conhecemos seu ambiente como você.

Se essa resposta ajudou a encontrar a causa do seu problema, por favor marque uma das respostas
dos colegas citados que primeiro abordou a causa do problema.

Se não, por favor, coloque seus dados atualizados aqui !!!

Teste Valor Acumulado Errado.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
19 horas atrás, Bruno Abdalla de Souza disse:

Vamos pegar a linha de janeiro,  dia 14. Só como exemplo. 

Como não há filtro de.ano externo e nem interno,  isso significa que neste contexto temos todas as datas de 14 de janeiro de todos os anos. 

Quando você usa a função  MAX(dCalendario[Data]), ela clvai retornar o dia 14 de janeiro do último ano que vc tem na dCalendario. 

Logo,  na FILTER, ao usar ALL(dCalendario), você está ignorando todos os filtros da dCalendario (neste caso,  ano do filtro externo,  mês e dia do visual). Depois vc diz na própria FILTER que a data tem que ser menor que o último 14 de janeiro da dCalendario. 

Provavelmente nesta data de 14 de janeiro do último nao da dCalendario, vc já tem todos os valores da tabela fato. Por isso os valores não mudam. 

Mas para ter certeza,  só vc anexando o pbix.

Boa tarde! Coloquei o arquivo para analisar.

forum.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Carlos Eduardo Silva

ACUMULADO contém ALLSELECTED e ACUMULADO 2 contém ALL na medida.

Sem filtro externo, os resultados são iguais. Veja imagem a seguir:

image.png.12ec17851903129af4f2955bbce1f446.png

 

 

Agora vamos filtrar o ano de 2024 na segmentação externa ao visual. Veja o resultado:

 

image.png.2a9993cfbb39f9932c15978f583b9236.png

 

A diferença aqui é porque a função ACUMULADO vai considerar o ano de 2024. Logo, na linha do dia 1, ele vai verificar a soma de tudo que é anterior a 01/12/2024 e posterior a 01/01/2024. NO dia 2, o resultado reflete tudo que é anterior a 02/12/2024 e posterior a 01/01/2024. E assim por diante.

Já na medida ACUMULADO 2, a função ALL vai desconsiderar o ano de 2024. Logo, na linha do dia 1, ele vai verificar tudo que é anterior a 01/12/2026 (ano máximo da sua dCalendario) e posterior a 01/01/2023.

 

Deu para entender a diferença?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
4 horas atrás, Bruno Abdalla de Souza disse:

@Carlos Eduardo Silva

ACUMULADO contém ALLSELECTED e ACUMULADO 2 contém ALL na medida.

Sem filtro externo, os resultados são iguais. Veja imagem a seguir:

image.png.12ec17851903129af4f2955bbce1f446.png

 

 

Agora vamos filtrar o ano de 2024 na segmentação externa ao visual. Veja o resultado:

 

image.png.2a9993cfbb39f9932c15978f583b9236.png

 

A diferença aqui é porque a função ACUMULADO vai considerar o ano de 2024. Logo, na linha do dia 1, ele vai verificar a soma de tudo que é anterior a 01/12/2024 e posterior a 01/01/2024. NO dia 2, o resultado reflete tudo que é anterior a 02/12/2024 e posterior a 01/01/2024. E assim por diante.

Já na medida ACUMULADO 2, a função ALL vai desconsiderar o ano de 2024. Logo, na linha do dia 1, ele vai verificar tudo que é anterior a 01/12/2026 (ano máximo da sua dCalendario) e posterior a 01/01/2023.

 

Deu para entender a diferença?

Mas o que eu não entendi ainda é pq na medida que assisti a Karine ela usou a fórmula e retornou o mesmo valor na primeira linha e depois o acumulado soma normalmente. Na minha ela retorna o valor diferente do dia e era para retornar igual o dela. Se vc aprende algo e aplica, teria que funcionar independente da tabela. A lógica não seria a mesma? Se existisse algum fator, era para ter explicado no vídeo (pelo menos acho que sim)

 

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