Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Erro nas respostas

Apesar de a alternativa "b" ser a correta, o código só funcionou quando o tipo de "Data entrega" foi alterado para "Date", em #"Tipo Alterado". E, consequentemente, na coluna customizada, não foi necessário converter [Data entrega] - [Data envio] de texto para data.

let
    Fonte = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjDUNzDWNzIwMlLSUTI0QeIYmMM5sTrRSoam+gYmMDkjA2SOMZwDVmimD9QKlTM2QOIYGcI5YIUW+gaWcDlTJI5rrkJJUWJecUF+UUmqUmwsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Data envio" = _t, #"Data estimada" = _t, #"Data entrega" = _t]),
    #"Tipo Alterado" = Table.TransformColumnTypes(Fonte,{{"Data envio", type date}, {"Data estimada", type date}, {"Data entrega", type date}}),
    #"Added Custom" = Table.AddColumn(#"Tipo Alterado", "Custom", each try Duration.Days( [Data entrega] - [Data envio]) otherwise null)
in
    #"Added Custom"
1 resposta
solução!

Oi, Eduardo, tudo bem?

Peço desculpas pelo tempo que aguardou por uma resposta.

Neste exercício, nosso objetivo é calcular a diferença entre os dias da data de entrega (tipo text) e a data de envio (tipo date). Observe que, para encontrar o valor desejado, faz-se necessário transformar apenas o tipo de dado do campo da data de entrega — e não a subtração entre as datas.

O tipo de "Data entrega" não precisa ser alterado para "Date" em #"Tipo Alterado". Isso porque a função Date.FromText já está convertendo a "Data entrega" de text para date antes de subtrair a "Data envio".

Além disso, quando alteramos os valores de "Data entrega" diretamente em #"Tipo Alterado", perdemos algumas informações importantes, como a indicação "Em transporte", o que não é recomendável.

Eduardo, caso queira testar o código completo que apresenta a coluna "Status", aqui está:

let
    Fonte = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjDUNzDWNzIwMlLSUTI0QeIYmMM5sTrRSoam+gYmMDkjA2SOMZwDVmimD9QKlTM2QOIYGcI5YIUW+gaWcDlTJI5rrkJJUWJecUF+UUmqUmwsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Data envio" = _t, #"Data estimada" = _t, #"Data entrega" = _t]),
    #"Tipo Alterado" = Table.TransformColumnTypes(Fonte, {{"Data envio", type date}, {"Data estimada", type date}, {"Data entrega", type text}}),
    #"Coluna Adicionada" = Table.AddColumn(#"Tipo Alterado", "Status", each try Duration.Days(Date.FromText([Data entrega]) - [Data envio]) otherwise null)
in
    #"Coluna Adicionada"

Espero que tenha ficado mais claro, Edu! Caso surja alguma dúvida, estarei por aqui.

Um abraço!