Ir para conteúdo
  • 0

Formatação Condicional Últimos 3 Meses


Raphael Dore
Ir para solução Solucionado por Raphael Dore ,

Pergunta

  • Alunos

Pessoal boa tarde, tudo bem?

Me chamo Raphael e estou tentando fazer um visual onde os 3 últimos meses sejam destacados. Alguns dos pré requisitos é de que se tenha um filtro de mês ano com a opção de seleção única e de que seja possível visualizar todos os meses do ano corrente (destacando apenas os últimos 3 meses do mês selecionado). Por exemplo:

  • Filtro mês Dez/2021 -> Cor nos meses: set, out e nov/2021
  • Filtro mês Abr/2021 -> Cor nos meses: jan, fev, mar/2021

Estava tentando utilizar uma segunda tabela de calendário para auxiliar na demanda, mas acabei me enrolando. Vocês podem me orientar em como resolver o problema?
Segue abaixo uma imagem para ilustrar melhor e o arquivo PBIX para análise. image.thumb.png.75b088ca848e2ebb210c2c40f265d6ae.png

Obrigado

Formatação Condicional.pbix

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Olá, Michele!

 

Muito obrigado pela resposta, me auxiliou bastante.

Eu tentei novamente e consegui uma solução que se aplique a uma mudança de ano.

Vou deixar abaixo, caso seja do interesse de outra pessoa.

Usei uma tabela de datas auxiliar para conseguir identificar as datas do contexto. Logo, fiz a diferença dessas datas com a data do mês selecionado, utilizando a função DATEDIFF (retornando a diferença em meses). Dessa forma, fiz uma condição IF: caso os meses fossem os 3 últimos, receberiam uma coloração roxa, caso contrário cinza.

Formatação Condicional =
var vMesSelecionado = MAX(dCalendario[Data])
var vMesContexto = CALCULATE(MAX(fDados[Data]),ALL(dCalendario),USERELATIONSHIP(dCalendarioAux[Data],fDados[Data]))
var vDiferenca = DATEDIFF(vMesSelecionado,vMesContexto,MONTH)
var vFormatacao = IF(vDiferenca>=-3 && vDiferenca<0,"purple","grey")
return
vFormatacao

image.thumb.png.8b760a830307fee5209405be7ca619fb.png

 

Atenciosamente,

 

Raphael

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Raphael Dore!

Eu consegui fazer o que você precisa, porém precisa ser para o ano corrente como você citou, se precisar mudar de um ano para o outro aí precisará pensar melhor em como fazer isso.

Eu sinceramente não consegui achar uma forma de pegar o menor mês/data dos últimos 3 meses para a tabela Auxiliar, então eu peguei o mês selecionado e diminui por 3, com isso peguei o menor mês. Dessa forma, consegui trabalhar para saber se os meses do eixo estavam entre o mês selecionado no filtro/segmentação e até 3 meses antes dele.

Não sei se é a melhor forma ou a mais "elegante", mas fiquei algum tempo tentando achar outro jeito de fazer e não consegui pensar em nada. Se você realmente precisa apenas para o ano corrente, pelos meus testes vai funcionar para você.

Formatação Condicional =
VAR vMesSelecionado = MAX(dCalendarioAux[Mês])
VAR vMenorMes = MAX(dCalendarioAux[Mês])-3
VAR vMesContexto = MONTH(MAX(dCalendario[Data]))

VAR vResultado = IF(vMesContexto>= vMenorMes && vMesContexto < vMesSelecionado,"purple","grey")

RETURN
    vResultado

image.png.02f06c6d6a872dcc4692b5779da86ab8.png

2110480274_FormataoCondicional.pbix

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...