Ir para conteúdo
  • 0

Agrupar valores anteriores ou posteriores a um periodo do calendário.


Marcelo Silva
Ir para solução Solucionado por Marcelo Silva ,

Pergunta

  • Alunos

Boa tarde amigos!!
Espero que todos estejam bem.

Gostaria de ajudar para uma maneira de fazer uma espécie de régua de vencimentos, na imagem abaixo eu coloquei o que preciso replicar que foi feito em Excel, o calculo em si não é nada complicado sendo apenas uma contagem de unidades de status "Em repasse" o porém é a forma que é demonstrado.  eu preciso que ao centro sempre seja o mês atual e tanto anteriormente quanto posteriormente os 5 meses seguintes. e antes ou depois destes períodos seja acumulados. creio que com a imagem fique mais fácil entender.

poderiam em ajudar?
estou anexando um arquivo de exemplo já com o calculo e modo de apresentação (removi o +0 da formula apenas para que possam ver os números alcançados), e no final da base estou colocando 4 datas a mais no momento (que não estão na imagem abaixo) com datas anteriores e posteriores aos 5 meses pra verificarmos se o deu certo. Então no PBI terá o valor de 682 ao invés de 678.

Pesquisei em todo lugar e não encontrei nenhum tipo de agrupamento deste tipo. talvez isto mereça até uma aula do Mestre...rs

Agradeço desde já a ajuda.

 

image.png

Base Exemplo.xlsx Regua vencimentos.pbix

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Consegui fazer,
com um pouco mais de calma deu certo, provavelmente o código pode ser melhorado, mas  serviu, ficando tudo dinâmico. vou mandar a solução abaixo para quem se interssar

Regua Vencimentos =
// Variaveis que definirão o periodo entre o mes atual e os meses anteriores
var Fim= EOMONTH(MAX('Ultima Atualizacao'[Ult.Atualizacao]),0)
var inicio = EOMONTH(MAX('Ultima Atualizacao'[Ult.Atualizacao]),-6)+1
// Variaveis que definirão o periodo posterior ao mes atual e os meses seguintes
Var InicioVencer= EOMONTH(MAX('Ultima Atualizacao'[Ult.Atualizacao]),0)+1
var FimVencer = EOMONTH(MAX('Ultima Atualizacao'[Ult.Atualizacao]),5)
//Calculando as unidades vencidas
Var ValorVencido =
CALCULATE([Unid. Em Repasse],
FILTER(_Calendario,
_Calendario[Data] <= inicio
)
)

 

//Calculando as unidades a vencer
Var ValorVencer =
CALCULATE([Unid. Em Repasse],
FILTER(_Calendario,
_Calendario[Data] > FimVencer
)
)




 

RETURN
// Basicamente criei tabelas de uma linha para das datas antes de depois de 5 meses e uni com os periodos usando a Union
UNION(
ROW("Mês/Ano","< " &FORMAT(inicio,"MMM")&"/"&YEAR(inicio),"MesAno",0,"Total",ValorVencido ),

 

SUMMARIZECOLUMNS(_Calendario[Mês/Ano],_Calendario[MesAno],
FILTER(_Calendario,_Calendario[Data] >= inicio),
FILTER(_Calendario,_Calendario[Data] <= Fim),
"Total",[Unid. Em Repasse]),

 

SUMMARIZECOLUMNS(_Calendario[Mês/Ano],_Calendario[MesAno],
FILTER(_Calendario,_Calendario[Data] >= InicioVencer),
FILTER(_Calendario,_Calendario[Data] <= FimVencer),
"Valor",[Unid. Em Repasse]),
 

 

ROW("Mês/Ano","> " &FORMAT(FimVencer,"MMM")&"/"&YEAR(FimVencer),"MesAno",999999,"Total",ValorVencer )

 

)

image.png

Editado por Marcelo Silva
Formatação do codigo
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Boa noite, @Marcelo Silva.

Na verdade já tem Live gravada do Mestre sobre isso. É a Live 72: [Live #72 Mestre Power BI] Tornando os Eixos Dinâmicos em visuais com DAX Avançado - Lives sobre Linguagem DAX - Pilar 4 (powerbiexperience.com)

O Leo até cita uma dúvida de um aluno do curso que postou essa dúvida, que é semelhante a sua: 

 

Já adianto que é Dax super avançado...rsrs...

Você só vai precisar adequar o raciocínio apresentado pelo Mestre a sua necessidade que é retroceder e avançar 5 meses com base na data segmentada pelo usuário.

Espero que tenha ajudado.

Sucesso aí, amigo...

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
15 horas atrás, Rodrigo R1 disse:

Boa noite, @Marcelo Silva.

Na verdade já tem Live gravada do Mestre sobre isso. É a Live 72: [Live #72 Mestre Power BI] Tornando os Eixos Dinâmicos em visuais com DAX Avançado - Lives sobre Linguagem DAX - Pilar 4 (powerbiexperience.com)

O Leo até cita uma dúvida de um aluno do curso que postou essa dúvida, que é semelhante a sua: 

 

Já adianto que é Dax super avançado...rsrs...

Você só vai precisar adequar o raciocínio apresentado pelo Mestre a sua necessidade que é retroceder e avançar 5 meses com base na data segmentada pelo usuário.

Espero que tenha ajudado.

Sucesso aí, amigo...

 

Bom dia @Rodrigo R1!
Eu assisti esta live.  a dinâmica dos meses eu até consegui fazer... meu problema maior ta em agrupar os períodos anteriores e posteriores.  de qualquer forma continuo olhando e tentando... já estou a um tempo procurando uma logica a seguir. não sou um usuário iniciante mas ainda não consegui encontrar uma maneira boa para este caso.


vou ver novamente esta live com a cabeça mais limpa talvez ajude. obrigado pela ajuda amigo!!!


 

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