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
  • Membros
  • 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
  • Gostei 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

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
  • Membros
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
  • Membros

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
  • Membros
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!

 

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

  • 0
  • Membros
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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...