Ir para conteúdo
  • 0

Loja com Maior frete


Ir para solução Solucionado por Edson Igari ,

Pergunta

  • Alunos
Postado

Olá Pessoal blz ? preciso de uma ajudinha estou com probleminha , tenho uma tabela de frete, onde duas lojas são atendido pelo mesmo veículos porem com valores de frete diferentes , 
preciso retorna uma coluna o nome da loja que teve o mai or valor de frete dentro desse veiculo , possível fazer essa logica Power query ?

Problema Frete.xlsx

5 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
Postado

Suave @Marcio Monteiro?

Tenta o código abaixo:

Citar

let
    // Carrega o arquivo Excel
    Fonte = Excel.Workbook(File.Contents("C:\Users\EYRB\OneDrive - PETROBRAS\Área de Trabalho\Problema Frete.xlsx"), null, true),
    
    // Seleciona a planilha "Planilha1"
    Planilha1_Sheet = Fonte{[Item="Planilha1",Kind="Sheet"]}[Data],
    
    // Promove a primeira linha para ser o cabeçalho da tabela
    PromotedHeaders = Table.PromoteHeaders(Planilha1_Sheet, [PromoteAllScalars=true]),
    
    // Altera o tipo de dados das colunas
    ChangedType = Table.TransformColumnTypes(PromotedHeaders,{{"Nº transporte", Int64.Type}, {"Dta ", type date}, {"Transportadora", type text}, {"Nome Loja", type text}, {"Regional ", type text}, {"Frete", type number}, {"Resultado Esperado Retonar o nome da loja com maior frete", type text}}),
    
    // Calcula o valor máximo da coluna "Nº transporte"
    vNtransp = List.Max(ChangedType[Nº transporte]),
    
    // Filtra as linhas onde "Nº transporte" é igual ao valor máximo
    FilteredNtransp = Table.SelectRows(ChangedType, each [Nº transporte] = vNtransp),
    
    // Calcula o valor máximo da coluna "Frete" das linhas filtradas
    vMaiorValor = List.Max(FilteredNtransp[Frete]),
    
    // Filtra as linhas onde "Frete" é igual ao valor máximo
    FilteredMaiorValor = Table.SelectRows(ChangedType, each [Frete] = vMaiorValor),
    
    // Seleciona o primeiro valor da coluna "Nome Loja" das linhas filtradas
    vLojaMaiorValor = List.First(FilteredMaiorValor[Nome Loja]),
    
    // Adiciona uma nova coluna "Loja maior frete" à tabela original, onde se "Nome Loja" for igual ao valor selecionado, retorna o valor selecionado, caso contrário retorna "-"
    AddedCustom = Table.AddColumn(ChangedType, "Loja maior frete", each if [Nome Loja] = vLojaMaiorValor then vLojaMaiorValor else "-")
in
    // Retorna a tabela modificada
    AddedCustom

Se essa resposta te ajudou, não esquece de marcar como melhor solução 😉

Abs!

  • 0
  • Alunos
Postado

Neste caso ele trouxe o nome da loja com o maior frete, o porem o resultado deve acontecer dentro do numero de transporte, por exemplo no transporte 931 o maior valor de fretes e Curitiba. 

 

 

 

image.png.83a3c53e726208b1f106b156194cbfe2.png

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...