Ir para conteúdo
  • 0

Gráfico de colunas com mês atual +2 meses no futuro


Ana Carla Fontana
Ir para solução Solucionado por Joao Raulino ,

Pergunta

  • Alunos

Pessoal, tudo bem?

Preciso de ajudar para criar um gráfico igual ao da imagem abaixo. Nov-23 são o mês e o ano selecionados nos filtros. O gráfico sempre irá mostrar o mês selecionado mais 2 meses pra frente. As colunas em cinza são o orçamento aprovado para aquele mês e em azul é a reprojeção. 

Eu sei fazer esse gráfico no Excel, então quanto o cliente pediu, eu disse que dava pra fazer, pois se dá pra fazer no Excel também daria pra fazer no PBI. 😁

 

image.png.6f061baab6d660f6b7cd32c9ad9cdc5f.png

Link para o comentário
Compartilhar em outros sites

19 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Suave @Ana Carla Fontana?

Falando somente da parte visual, é possível fazer algo semelhante ao que você quer utilizando 2 gráficos de coluna onde um fica sobreposto ao outro:

image.png.1b295de3fd0b1c6dd67b161b860c856a.png

Utilizei como referencia o arquivo que você compartilhou no outro tópico:

Se essa resposta te ajudou, não esquece de marcar como melhor solução 😉

Abs!

Teste.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Na medida você deve retornar BLANK() para todos os meses que não sejam Nov-23, Dez-32 e Jan-24. Isso irá excluir os demais meses.

Primeiro escreva a medida que faça seus cálculos, depois crie uma variável para identificar o mes selecionado, outra variável para o mês seguintes e outra para o outro mês.

Use um SWITCH no RETURN da medida para só retornar o valor calculado para esses meses.

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

  • 0
  • Alunos

@reinaldoc fiz assim, mas está trazendo os demais meses no gráfico. O que pode ser o motivo?

 

Receita Orçada mês atual +2 = 
var vMesSelecionado = SELECTEDVALUE(dCalendario[MesNum])
var vMesSeguinte = vMesSelecionado + 1
var vMesSeguinteOutro = vMesSelecionado + 2

RETURN

SWITCH(
    TRUE(),
    VALUES(dCalendario[MesNum]) = vMesSelecionado || VALUES(dCalendario[MesNum]) = vMesSeguinte || VALUES(dCalendario[MesNum]) = vMesSeguinteOutro,
    [Receita Orçada],
    BLANK()
)

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

pela coluna dCalendario[MesNum] você terá problemas para identificar o mês do ano seguinte.

Você precisa criar uma coluna Mes com números sequenciais.

Mês sequenciais no Power Query por coluna personalizada: ([Ano] - Date.Year(List.Min(fTabela[Data]))) * 12 + [Mês]

Mês sequencial por DAX: ([Ano] - YEAR(MIN(fTabela[Data]))) * 12 + [Mês]

No segmentador pode usar o MesNum, mas na fórmula use SELECTEDVALUE no mês sequencial

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

  • 0
  • Alunos

Estranho, porque se você selecionar um mês, o gráfico só deveria mostrar, por padrão, somente esse mês.

A outra tabela calendario é para a coluna de mês do gráfico ser outra da coluna de mês do segmentador.

Outra solução, em vez de criar outra tabela calendario, é:

var vMesSelecionado = SELECTEDVALUE(ALLSELECTED(dCalendario[MesNum]))

Assim o meses do grafico não afetarão essa variável.

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

  • 0
  • Alunos

@reinaldoc agora entendi o motivo de fazer uma segunda dCalendario (lerdeza minha 🤦‍♀️).

Fiz a dCalendario2 e ajustei a medida assim:

 

Receita Orçado mês atual +2 = 
var vMesSelecionado = SELECTEDVALUE(dCalendario[MesSeq])
var vMesSeguinte = vMesSelecionado + 1
var vMesSeguinteOutro = vMesSelecionado + 2

RETURN

SWITCH(
    TRUE(),
    VALUES(dCalendario2[MesSeq]) = vMesSelecionado || VALUES(dCalendario2[MesSeq]) = vMesSeguinte || VALUES(dCalendario2[MesSeq]) = vMesSeguinteOutro,
    [Receita Orçada],
    BLANK()
)

 

A dCalendario2 só usei dentro da SWITCH e finalmente trouxe os 3 meses como eu queria. 😁

 

Agora só resta uma dúvida: como são 2 medidas (orçamento e reprojeção), as colunas do mesmo mês precisam ficar uma em cima da outra como na imagem que mandei lá em cima. A coluna que fica atrás mais larga que a coluna da frente. Como posso fazer isso? Procurei uma formatação pra isso mas não encontrei.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Nunca vi opção para barra mais grossa com uma fina por dentro. Quando temos duas medidas costuma-se usar o gráficos de colunas e linha, ainda que você coloque a linha transparente para usar apenas o rótulo dela.

Sobre os meses estarem com mesmo valor, o contexto de filtro precisa do relacionamento, eu tinha sugerido usar a calendario2 (sem relacionamento) no segmentador e pegar o valor com SELECTEDVALUE, você fez ao contrário. 

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@reinaldoc eu fui procurar esse gráfico em mais visuais e achei. É pago então vai ficar gráfico de colunas e linha 😅

 

Não sei se entendi muito bem essa questão da dCalendario2. Eu coloquei ela somente dentro da SWITCH e no eixo X do gráfico.

Se eu colocar dCalendario2 no segmentador (visual de filtro), os outros gráficos vão ficar com erro.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 19/12/2023 em 11:47, Joao Raulino disse:

Suave @Ana Carla Fontana?

Falando somente da parte visual, é possível fazer algo semelhante ao que você quer utilizando 2 gráficos de coluna onde um fica sobreposto ao outro:

image.png.1b295de3fd0b1c6dd67b161b860c856a.png

Utilizei como referencia o arquivo que você compartilhou no outro tópico:

Se essa resposta te ajudou, não esquece de marcar como melhor solução 😉

Abs!

Teste.pbix 169.92 kB · 0 downloads

Oi @Joao Raulino, tudo bem?

 

Obrigada pela ideia do visual do gráfico. Eu pensei em fazer dessa forma, mas assistindo alguns vídeos no YT achei uma forma bem legal que também posso mostrar a variação entre eles.

image.png.7505d231532cc95c6749ded86dc2b009.png

  • Like 1
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...