Ir para conteúdo
  • 0

Condicional (IF) problema com o zero


José Henrique
Ir para solução Solucionado por Bernardo Vitor ,

Pergunta

11 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
23 minutos atrás, José Henrique disse:

teste.pbix segue o modelo para teste.

Opa @José Henrique, segue solução anexo.
Veja se te atende.

Status = 
SWITCH(
    TRUE(),
    ISBLANK(Planilha1[Dias de pagamento]), "Em Aberto",
    Planilha1[Dias de pagamento] >= 0, "Pago",
    Planilha1[Dias de pagamento] < 0, "Antecipado"
)
 

teste.pbix

Editado por Bernardo Vitor
  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Boa tarde @José Henrique!
Tudo bem?

Tenta passar o argumento = BLANK(), "Em Aberto" primeiro, antes dos outros dois argumentos.

Se não der certo,  anexa o pbix ou então alguns dados fictícios pra ajudar na resolução. 

Se esta resposta resolver seu problema, gentileza classificá-la como Solução 

Atenciosamente,

Bernardo Vitor
(31) 99116-6134
LinkedIn: https://www.linkedin.com/in/bernardo-vitor
 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 05/11/2022 em 06:56, Tiago Craici disse:

Bom dia @José Henrique!

Veja se a medida abaixo atende:


Status do pagamento =
COALESCE (
    SWITCH (
        TRUE (),
        fConsolidado[Dias do pagamento] < 0, "Antecipado",
        fConsolidado[Dias do pagamento] >= 0, "Pago"
    ),
    BLANK ()
)

@Tiago Craici tentei também e não deu certo.. quando o blank fica correto, o zero fica incorreto. kkkk

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Bom dia, José. Tudo bem?
Tenta essa solução: 

Status do Pagamento = SWITCH(
TRUE(),
Planilha1[Dias de pagamento]<0,"Antecipado",
Planilha1[Dias de pagamento]>0,"Pago",
FORMAT(Planilha1[Dias de pagamento],"#,#.##;(#,#.##);-")="-","Pago",
FORMAT(Planilha1[Dias de pagamento],"#,#.##;(#,#.##);-")=BLANK(),"Em Aberto")

O que acontece é que como estamos trabalhando com dados do tipo "INT", o DAX intende o blank como 0. Com a função VALUE conseguimos definir os tipos para cada situação.
 
Segue o arquivo .PBIX com a solução implementada.
Espero ter te ajudado.

 

teste.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
25 minutos atrás, Bernardo Vitor disse:

Opa @José Henrique, segue solução anexo.
Veja se te atende.

Status = 
SWITCH(
    TRUE(),
    ISBLANK(Planilha1[Dias de pagamento]), "Em Aberto",
    Planilha1[Dias de pagamento] >= 0, "Pago",
    Planilha1[Dias de pagamento] < 0, "Antecipado"
)
 

teste.pbix 68 kB · 0 downloads

Obrigado amigo, deu certo!

 

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

  • 0
  • Alunos
15 minutos atrás, Diogo Ferreira de Castro disse:

Bom dia, José. Tudo bem?
Tenta essa solução: 

Status do Pagamento = SWITCH(
TRUE(),
Planilha1[Dias de pagamento]<0,"Antecipado",
Planilha1[Dias de pagamento]>0,"Pago",
FORMAT(Planilha1[Dias de pagamento],"#,#.##;(#,#.##);-")="-","Pago",
FORMAT(Planilha1[Dias de pagamento],"#,#.##;(#,#.##);-")=BLANK(),"Em Aberto")

O que acontece é que como estamos trabalhando com dados do tipo "INT", o DAX intende o blank como 0. Com a função VALUE conseguimos definir os tipos para cada situação.
 
Segue o arquivo .PBIX com a solução implementada.
Espero ter te ajudado.

 

teste.pbix 53 kB · 0 downloads

Obrigado amigo pela explicação! Já consegui, mais fica o ensinamento.

 

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