Ir para conteúdo
  • 0

Erro converter valor null em tipo Logical


Thiago Pedrazi

Pergunta

  • Alunos

Bom dia pessoal, tudo bem?
Estou com um problema numa coluna calculada da seguinte forma. Eu criei a coluna calculada chamada "Receita Ajustada" abaixo:
 

= Table.AddColumn(ValueFinal, "Receita_Ajustada", each 
    if [Name] = "Lacador de Ofertas" and [Category] = "Bilhete Caracol + Observatório Ag" and 
    [Useddate] >= #date (2023, 8 , 17) and 
    [Useddate] <= #date (2024, 2 , 29)  then 45

    else if [ProductName] = "Bilhete Cortesia" then null
    else if [ProductName] = "Bilhete Cortesia new" then null
    else if [ProductName] = "Isenção" then null

    else [ValueFinal])

 

Name = Nome de Clientes // Category = Categoria de bilhetes // Useddate = Data que esses bilhetes foram usados // Productname = Nome do Produto // ValueFinal = Valor Final

Todas as coluna estão tipificadas corretamente. Coluna Name, Category, ProductName como texto, Coluna Useddate como Data, e as colunas de Valor com type number.

Eu tenho uma coluna com o valor final dos bilhetes, mas precisei criar outra coluna, no caso uma coluna calculada, porque tivemos um problema em alguns bilhetes do Cliente "Lacador de Ofertas" no período citado acima. Então por exemplo, no período citado acima, desse cliente, na coluna Valor Final saiu o valor de 65,00, mas na verdade era pra sair 45,00.

E em adição eu criei 3 regras pra quando o Nome do Produto for Cortesia e Isenção, zerar o valor. Na coluna Valor Final original do sistema esses bilhetes saem com valor, porém são cortesias e isenções, então não podemos cobrar nenhum valor, por isso eu aplico o null.

Por fim, no final da condição, eu retorno um Valor Final. else [ValueFinal])

A coluna calculada rodou normalmente quando levei a Tabela do Power Query para o Power BI, mas deu erro em 362 linhas. Deu o seguinte erro:
Expression.Error: Não conseguimos converter o valor null em tipo Logical.
Detalhes:
    Value=
    Type=[Type]

 

Agradeço quem puder ajudar!

Abaixo alguns prints do erro:

image.png.906ee7ad0142e34afcd7383d40d641ee.png  image.png.b9a54d86428b9909eb06b850689cddd2.png image.png.e090908496ee8d5b0beff3b63eee2cc1.png

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
2 horas atrás, Alex Pereira disse:

Tem como disponabilizar uma base de exemplo?

Bom dia @Alex Pereira, tudo bem?
Eu consegui resolver o problema...fiz o código abaixo. Incluí no código anterior o trecho: if [Useddate] = null then null 
Obrigado pela disponibilidade! te agradeço!

if [Useddate] = null then null 
    else if [Name] = "Lacador de Ofertas" and [Category] = "Bilhete Caracol + Observatório Ag" and 
    [Useddate] >= #date (2023, 8 , 17) and 
    [Useddate] <= #date (2024, 2 , 29)  then 45
    else if [ProductName] = "Bilhete Cortesia" then null
    else if [ProductName] = "Bilhete Cortesia new" then null
    else if [ProductName] = "Isenção" then null

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

  • 0
  • Alunos

Boa tarde @Thiago Pedrazi, tudo certo?

Realize um teste com esse script abaixo para verificarmos o comportamento do retorno:

= Table.AddColumn(ValueFinal, "Receita_Ajustada", each 
    let
        ValorFinal = if null([ValueFinal]) then 0 else [ValueFinal],
        ValorAjustado = if [Name] = "Lacador de Ofertas" and [Category] = "Bilhete Caracol + Observatório Ag" and 
        [Useddate] >= #date (2023, 8 , 17) and 
        [Useddate] <= #date (2024, 2 , 29) then 45
        else if [ProductName] = "Bilhete Cortesia" then null
        else if [ProductName] = "Bilhete Cortesia new" then null
        else if [ProductName] = "Isenção" then null
        else ValorFinal
    in
        ValorAjustado
)

caso ajude, fique a vontade para sinalizar
Atte,

Reginaldo

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Reginaldo Batista disse:

Boa tarde @Thiago Pedrazi, tudo certo?

Realize um teste com esse script abaixo para verificarmos o comportamento do retorno:

= Table.AddColumn(ValueFinal, "Receita_Ajustada", each 
    let
        ValorFinal = if null([ValueFinal]) then 0 else [ValueFinal],
        ValorAjustado = if [Name] = "Lacador de Ofertas" and [Category] = "Bilhete Caracol + Observatório Ag" and 
        [Useddate] >= #date (2023, 8 , 17) and 
        [Useddate] <= #date (2024, 2 , 29) then 45
        else if [ProductName] = "Bilhete Cortesia" then null
        else if [ProductName] = "Bilhete Cortesia new" then null
        else if [ProductName] = "Isenção" then null
        else ValorFinal
    in
        ValorAjustado
)

caso ajude, fique a vontade para sinalizar
Atte,

Reginaldo

Boa tarde @Reginaldo Batista, apareceu essa mensagem abaixo:

image.png.a3f504c71470d44a07c32b59b7be3912.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
3 horas atrás, Reginaldo Batista disse:

Boa tarde @Thiago Pedrazi, tudo certo?

Realize um teste com esse script abaixo para verificarmos o comportamento do retorno:

= Table.AddColumn(ValueFinal, "Receita_Ajustada", each 
    let
        ValorFinal = if null([ValueFinal]) then 0 else [ValueFinal],
        ValorAjustado = if [Name] = "Lacador de Ofertas" and [Category] = "Bilhete Caracol + Observatório Ag" and 
        [Useddate] >= #date (2023, 8 , 17) and 
        [Useddate] <= #date (2024, 2 , 29) then 45
        else if [ProductName] = "Bilhete Cortesia" then null
        else if [ProductName] = "Bilhete Cortesia new" then null
        else if [ProductName] = "Isenção" then null
        else ValorFinal
    in
        ValorAjustado
)

caso ajude, fique a vontade para sinalizar
Atte,

Reginaldo

Boa tarde @Reginaldo Batista , acho que descobri o erro..
Só ta dando erro nos casos em que a Data de Uso é vazio..

Eu amarro a condição a duas Datas...e qdo não tem Data, ele acaba dando erro pq não encontra a condição a ser aplicada...
Acredito que seja isso! O que acha?
 

if [Name] = "Lacador de Ofertas" and [Category] = "Bilhete Caracol + Observatório Ag" and 
    [Useddate] >= #date (2023, 8 , 17) and 
    [Useddate] <= #date (2024, 2 , 29)  then 45

    else if [ProductName] = "Bilhete Cortesia" then null
    else if [ProductName] = "Bilhete Cortesia new" then null
    else if [ProductName] = "Isenção" then null

else [ValueFinal])




image.png.2af1f213d448336f23734ad711314912.png

  • Like 1
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...