Ir para conteúdo
  • 0

CONDIÇÃO DE DATAS


Rafael Borges
Ir para solução Solucionado por Diego de Paula Silva ,

Pergunta

  • Alunos

Olá pessoal, boa noite! 

Estou criando uma coluna com algumas condições de datas. Realizei a mesma em DAX ultilizando as funções IF e AND, porém o resultado esperado está negativo. Acredito ser alguma situação em minha logica. Podem me dar um apoio.

Estou realizando o mesmo processo no EXCEL e o mesmo retorna o resultado desejado. No power bi, o resultado fica incorreto.

Segue o resultado.

image.thumb.png.46d268b5bf09500f661cc823f5f195b6.png

A condição para realizar o processo é a seguinte. Formula do EXCEL

=SE(E(W12>0;Q12>=HOJE());"A VENCER";SE(E(W12>0;Q12<=HOJE());"PENDENTE";"PROGRAMADO"))

Preciso que atenda as seguintes condições: SE DIAS RESTANTES FOR MAIOR QUE 0 E O PERIODO AQUISITIVO FIM >=HOJE  RESULTADO ESPERADO A VENCER

SE DIAS RESTANTES FOR MAIOR QUE 0 E O PERIODO AQUISITIVO FIM <=HOJE  RESULTADO ESPERADO : PENDENTE

CASO  OS DIAS RESTANTES FOR IGUAL 0 RESULTADO ESPERADO : PROGRAMADO.

 

Estou também encaminhando uma base teste para facilitar o entendimento.

 

Obrigado pelo apoio! 


 

TABELA DATA.xlsx

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Olá Rafel, bom dia!
Estou bem e você?

Se quiser que a data retorne sempre 31/07/2021 a fórmula abaixo te atenderia:
Status DAX EOMONTH =
VAR vDataMaxMes = EOMONTH(TODAY(),-4)
VAR vStatus =
IF(
fBase[SALDO] > 0 && fBase[PERIODO AQUISITIVO FIM] >= vDataMaxMes, "A VENCER",
IF(
fBase[SALDO] > 0 && fBase[PERIODO AQUISITIVO FIM] <= vDataMaxMes, "PENDENTE",
"PROGRAMADO"
)
)
Return
vStatus

Caso você queira que ele retorne sempre a data máxima (Ultimo dia) do mês referente ao "Período Aquisitivo Fim", você pode usar a fórmula abaixo, porém o Status ficaria diferente do resultado enviado no arquivo Excel.
Status DAX ENDOFMONTH =
VAR vDataMaxMes = ENDOFMONTH(dCalendario[Data])
VAR vStatus =
IF(
fBase[SALDO] > 0 && fBase[PERIODO AQUISITIVO FIM] >= vDataMaxMes, "A VENCER",
IF(
fBase[SALDO] > 0 && fBase[PERIODO AQUISITIVO FIM] <= vDataMaxMes, "PENDENTE",
"PROGRAMADO"
)
)
Return
vStatus

Condições de Datas.pbix

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

  • 0
  • Alunos

Rafael, boa noite!

Utilizei o mesmo raciocínio e sequencia lógica do arquivo e Excel e cheguei no mesmo resultado com a linguagem DAX.

A fórmula utilizando DAX ficou assim:  
Status DAX = IF(
    fBase[SALDO] > 0 && fBase[PERIODO AQUISITIVO FIM] >= TODAY(), "A VENCER",
    IF(
        fBase[SALDO] > 0 && fBase[PERIODO AQUISITIVO FIM] <= TODAY(), "PENDENTE",
        "PROGRAMADO"
    )
)

Segue em anexo também o arquivo PBIX.

Condições de Datas.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá Diego, como vai tudo bem?

Diego na verdade funcionou perfeitamente, porém tenho uma duvida que seria do problema também.

Ao invés de colocar o TODAY, a data de hoje. Como seria para pegar a ultima data do ultimo 3 mês. Por exemplo pegar a data do dia 31/07/2021. Porém de forma dinamica, sempre pegar essa ultima data. 

 

Seria trocar o TODAY, e colocar essa data, mas que no decorrer dos meses ele ficaria de forma dinamica. Consegue me dar esse apoio? 

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