Ei, Vinicius! Tudo bem?
Agradeço por aguardar o nosso retorno.
O DATEADD faz um deslocamento de datas, mas só retorna os valores se a data resultante existir no calendário, como a sua observação. Então, ao comparar 31 de março com 31 de abril, essa data não existe, o DAX não encontra a correspondência, retornando vazio.
Nesse caso, podemos pensar em algumas abordagens:
- Comparar períodos agregados, como
total do mês vs mês anterior (em vez de dia a dia). - Comparar até o último dia disponível do mês anterior. Por exemplo:
30 de abril e 31 de março. - Criar uma lógica condicional usando funções como a
EOMONTH, para ajustar automaticamente quando o dia não existe no mês comparado. - Em análises mais avançadas, usar uma tabela calendário bem estruturada e trabalhar com flags como último dia do mês.
O ajuste precisa ser pensado com base na regra de negócio sempre.
Sobre esse tipo de análise no cotidiano, pode até parecer, mas não é comum na prática. O mais recorrente é vermos comparação de mês atual vs mês anterior, acumulado até hoje vs acumulado até o mesmo dia do mês anterior, média diária do mês atual vs média atual do mês anterior.
Espero ter ajudado e conte sempre com o nosso auxílio aqui no fórum.
Até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado