1
resposta

ERRO EM FUNÇÃO DAX, O QUE FAZER?

Tenho tentado montar um tabela calendário manualmente, entretanto estou obtendo resultados estranhos com seguinte expressão DAX:

"Mês = FORMAT(MONTH('calendar'[Date]),"MMMM")"

para uma data 01/01/2023 se esperava como retorno o mês "Janeiro" entretanto está respondendo com "Dezembro"

Caso eu faça "Mês = FORMAT(MONTH('calendar'[Date])+1,"MMMM")" ele retorna Janeiro para o dia 01/01/2023.

Por qual motivo isso ocorre? como posso resolver?

1 resposta

Oi, Yan! Tudo bem?

O problema que você está enfrentando ocorre devido à forma como o Power BI trata as datas. O mês de janeiro é representado pelo número 1, enquanto o mês de dezembro é representado pelo número 12.

Quando usamos a função FORMAT para obter o mês a partir da data, o Power BI retorna o número correspondente ao mês. No seu caso, a expressão "Mês = FORMAT(MONTH('calendar'[Date]),"MMMM")" retorna o número 12 para o mês de janeiro, pois o Power BI considera o mês anterior.

Para resolver esse problema, você pode adicionar 1 ao resultado da função MONTH, como você mencionou. Dessa forma, a expressão "Mês = FORMAT(MONTH('calendar'[Date])+1,"MMMM")" retorna corretamente o mês de janeiro.

Outra opção é utilizar a função EOMONTH para obter o último dia do mês anterior à data desejada. Por exemplo: "Mês = FORMAT(EOMONTH('calendar'[Date],-1)+1,"MMMM")". Essa expressão retorna o mês corretamente, pois primeiro obtém o último dia do mês anterior e depois adiciona 1 para obter o primeiro dia do mês atual.

Para ajudar a aprofundar o seu conhecimento, deixo como recomendação a documentação de cada uma das funções:

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓