Ir para conteúdo
  • 0

Criação de linhas com base no número de parcelas


toledo_gm

Pergunta

  • Alunos

Boa tarde incomparáveis, tudo bem?!

 

Estou com uma dificuldade em sanar um problema relacionado ao ETL. Em anexo, segue um exemplo deste problema.

De modo geral, tenho uma base de venda, onde cada lista representa uma venda realizada e dela o valor total, número de parcelas e valor total.

No entanto, para acompanhar a data prevista de pagamento ele traz sempre a primeira data a ser paga e não as datas das demais parcelas.

Em anexo, envio uma base onde seria o ideal, em destaque o desdobramento do pagamento trazendo as "Data prevista do Pagamento" e os valores quebrados de acordo com a quantidade de parcelas.

 

Alguém poderia me ajudar com este problema?

Base_Desejada.xlsx Base_Atual.xlsx

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
  • Alunos

Suave @toledo_gm?

Você pode usar o código abaixo para quebrar o valor total e o desconto total de acordo com a quantidade de parcelas:

Citar

let
    Source = Excel.Workbook(File.Contents("C:\Users\Admin\Downloads\Base_Atual.xlsx"), null, true),
    Planilha1_Sheet = Source{[Item="Planilha1",Kind="Sheet"]}[Data],
    #"Promoted Headers" = Table.PromoteHeaders(Planilha1_Sheet, [PromoteAllScalars=true]),
    #"Removed Other Columns" = Table.SelectColumns(#"Promoted Headers",{"Data da venda", "Bandeira", "Quantidade de parcelas", "Valor da venda", "Valor descontado", "Valor líquido da venda", "Previsão de pagamento", "Código da venda"}),
    #"Filled Down" = Table.FillDown(#"Removed Other Columns",{"Valor da venda", "Valor descontado"}),
    #"Added #Valor da venda" = Table.AddColumn(#"Filled Down", "Valor da venda por linha", each if [Quantidade de parcelas] = 0 then [Valor da venda] else [Valor da venda] / [Quantidade de parcelas]),
    #"Added #Valor descontado" = Table.AddColumn(#"Added #Valor da venda", "Valor descontado por linha", each if [Quantidade de parcelas] = 0 then [Valor descontado] else [Valor descontado] / [Quantidade de parcelas]),
    #"Reordered Columns" = Table.ReorderColumns(#"Added #Valor descontado",{"Código da venda", "Data da venda", "Bandeira", "Quantidade de parcelas", "Valor da venda", "Valor descontado", "Valor da venda por linha", "Valor descontado por linha", "Valor líquido da venda", "Previsão de pagamento"}),
    #"Removed Columns" = Table.RemoveColumns(#"Reordered Columns",{"Quantidade de parcelas", "Valor da venda", "Valor descontado"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"Código da venda", type text}, {"Data da venda", type date}, {"Bandeira", type text}, {"Valor da venda por linha", type number}, {"Valor descontado por linha", type number}, {"Valor líquido da venda", type number}, {"Previsão de pagamento", type date}})
in
    #"Changed Type"

O resultado das transformações ficaria assim:

image.png.33a4ce849587713ff114e4ab3bdd3bb7.png

Se quiser mais detalhes, o Leo tem uma aula muito boa onde ele explica passo-a-passo a logica por tras dessa reparticao:

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

Abs!

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