1
resposta

[Sugestão] Uso de IA na simplificação do código

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

1 resposta

Oii, Italo! Tudo bem?

Obrigada por compartilhar com a comunidade a sua sugestão. Com certeza ajudará os(as) colegas que estão estudando o mesmo conteúdo.

Continue se dedicando aos estudos e qualquer dúvida, conte conosco para te ajudar.

Até mais, Italo!