Bom dia!
Usei a versão gratuita do ChatGPT para simplificar e documentar o código no editor Avançado, funcionou!
Entrada no ChatGPT:
"refatore o código abaixo, ele está no power BI, deixe o mais simples e correto possível, gerando o mesmo resultado: <*inserir código*>"
Saída:
let
// Importa os dados do arquivo Excel
Source = Excel.Workbook(File.Contents(CaminhoPasta & "olist_pedidos.xlsx"), null, true),
DadosPedidos = Source{[Item="olist_orders_dataset",Kind="Sheet"]}[Data],
// Promove os cabeçalhos e ajusta tipos de dados corretamente
#"Promoted Headers" = Table.PromoteHeaders(DadosPedidos, [PromoteAllScalars=true]),
#"Removed Top Rows" = Table.Skip(#"Promoted Headers", 1),
#"Promoted Headers Again" = Table.PromoteHeaders(#"Removed Top Rows", [PromoteAllScalars=true]),
// Ajusta os tipos das colunas necessárias
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers Again",
{{"order_id", type text},
{"order_status", type text},
{"order_purchase_timestamp", type datetime},
{"order_approved_at", type datetime},
{"order_delivered_carrier_date", type datetime},
{"order_delivered_customer_date", type datetime},
{"order_estimated_delivery_date", type datetime}}),
// Extrai o texto após o delimitador "#" na coluna "order_status"
#"Extracted Text After Delimiter" = Table.TransformColumns(#"Changed Type",
{{"order_status", each Text.AfterDelimiter(_, "#"), type text}}),
// Faz a junção com a tabela de tradução
#"Merged Queries" = Table.NestedJoin(#"Extracted Text After Delimiter", {"order_status"}, tradução, {"Inglês"}, "tradução", JoinKind.LeftOuter),
#"Expanded tradução" = Table.ExpandTableColumn(#"Merged Queries", "tradução", {"Português "}, {"Português "}),
// Renomeia colunas e remove a coluna "customer_id"
#"Renamed Columns" = Table.RenameColumns(#"Expanded tradução",{{"order_id", "id_pedido"}}),
#"Removed Columns" = Table.RemoveColumns(#"Renamed Columns", {"customer_id"})
in
#"Removed Columns"
Ou seja, além de já realizar as alterações corretas, ele ainda documenta o que cada etapa está fazendo, essa documentação ficam visíveis nas Etapas Aplicadas