Ir para conteúdo
  • 0

Duas linhas para cada registro.


Fabio Graciano
Ir para solução Solucionado por Vitor Peralva ,

Pergunta

  • Alunos

Senhores, estou com o desafio de importar para o Power BI uma planilha que contém duas linha para cada registro, 

Pesquisei e tentei achar alguma solução, mas sem sucesso, 

Gostaria muito de uma ajuda da comunidade, alguém já passou por isso?

Desafio:

image.png.ca07af6dead9d4392b91744f93ec7764.png

Desejado seria ficar como a imagem abaixo:

image.png.e013c20cbafaee1ec2ab7fd8aff3ec62.png

BD_DuasLinhas.xlsx

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Bom Dia, @Fabio Graciano!

 

Tente o seguinte código, alterando o caminho do arquivo (na etapa Fonte) e o nome da planilha (na etapa "Desafio_Sheet")
 

let
    Fonte = Excel.Workbook(File.Contents("C:\Users\vitor\Downloads\BD_DuasLinhas.xlsx"), null, true),
    Desafio_Sheet = Fonte{[Item="Desafio",Kind="Sheet"]}[Data],
    #"Índice Adicionado" = Table.AddIndexColumn(Desafio_Sheet, "Índice", 1, 1, Int64.Type),
    #"Módulo calculado" = Table.TransformColumns(#"Índice Adicionado", {{"Índice", each Number.Mod(_, 2), type number}}),
    #"Personalização Adicionada" = Table.AddColumn(#"Módulo calculado", "Personalizar", each if [Índice] = 1 then null else [
    EMPRESA1 = [Column2],
    NUMERO1 = [Column3],
    PARCELA1 = [Column4],
    BAN = [Column5],
    AGEN = [Column6]
]),
    #"Preenchido Acima" = Table.FillUp(#"Personalização Adicionada",{"Personalizar"}),
    #"Linhas Filtradas" = Table.SelectRows(#"Preenchido Acima", each ([Índice] = 1)),
    #"Colunas Removidas" = Table.RemoveColumns(#"Linhas Filtradas",{"Índice", "Column1"}),
    #"Personalizar Expandido" = Table.ExpandRecordColumn(#"Colunas Removidas", "Personalizar", {"EMPRESA1", "NUMERO1", "PARCELA1", "BAN", "AGEN"}, {"EMPRESA1", "NUMERO1", "PARCELA1", "BAN", "AGEN"}),
    #"Cabeçalhos Promovidos" = Table.PromoteHeaders(#"Personalizar Expandido", [PromoteAllScalars=true])
in
    #"Cabeçalhos Promovidos"

 

Espero que ajude.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Fabio Graciano tudo bem? Eu pensei no seguinte, separe primeiro uma tabela com o que há DESCR EVENTO em formato de String,
image.png.628c9ba612ccc045040dfe8b86766d6c.png

em seguida crie outra tabela com somente os itens que contenham DESCR EVENTO com contenham valores inteiros

image.png.1473165b89cc6d6030ab9bd2c23083c3.png

e faça o Merge(Mesclar) entre as duas por Empresa e Numero. 

 

Pensei meio por cima aqui, veja se te ajuda.

Abraço !

  • Like 2
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Boa tarde @Vitor Peralva,

Fiz conforme você orientou, porém está gerando um erro,

image.png.6548e7658a4238494cb0bf4ac88a380e.png

=============================

let
    Fonte = Excel.Workbook(File.Contents("C:\Users\fabio.graciano\Downloads\BD_DuasLinhas.xlsx"), null, true),
    Desafio_Sheet = Fonte{[Item="Desafio",Kind="Sheet"]}[Data],
    #"Índice Adicionado" = Table.AddIndexColumn(BD_DuasLinhas.xlsx, "Índice", 1, 1, Int64.Type),
    #"Módulo calculado" = Table.TransformColumns(#"Índice Adicionado", {{"Índice", each Number.Mod(_, 2), type number}}),
    #"Personalização Adicionada" = Table.AddColumn(#"Módulo calculado", "Personalizar", each if [Índice] = 1 then null else [
    EMPRESA1 = [Column2],
    NUMERO1 = [Column3],
    PARCELA1 = [Column4],
    BAN = [Column5],
    AGEN = [Column6]
]),
    #"Preenchido Acima" = Table.FillUp(#"Personalização Adicionada",{"Personalizar"}),
    #"Linhas Filtradas" = Table.SelectRows(#"Preenchido Acima", each ([Índice] = 1)),
    #"Colunas Removidas" = Table.RemoveColumns(#"Linhas Filtradas",{"Índice", "Column1"}),
    #"Personalizar Expandido" = Table.ExpandRecordColumn(#"Colunas Removidas", "Personalizar", {"EMPRESA1", "NUMERO1", "PARCELA1", "BAN", "AGEN"}, {"EMPRESA1", "NUMERO1", "PARCELA1", "BAN", "AGEN"}),
    #"Cabeçalhos Promovidos" = Table.PromoteHeaders(#"Personalizar Expandido", [PromoteAllScalars=true])
in
    #"Cabeçalhos Promovidos"

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 25/07/2023 em 18:28, Vitor Peralva disse:

Na terceira linha "#"Índice Adicionado" = Table.AddIndexColumn(BD_DuasLinhas.xlsx, "Índice", 1, 1, Int64.Type)," você está chamando como etapa anterior "BD_DuasLinhas.xlsx", você deve substituir por "Desafio_Sheet" e deve funcionar.

 

Muito obrigado @Vitor Peralva, funcionou perfeitamente.

  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Vitor Peralva, tudo bem?

Fui tentar replicar o seu código na pasta oficial, porém está gerando um erro de "Índice Adicionado".

Agora não é mais um arquivo específico e sim uma pasta inteira que eu desejo puxa para o Power BI,

Tentei identificar o problema, porém não achei o que estou fazendo de errado.

Será que você consegue me ajudar novamente?

Forum.zip

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Dei uma olhada no arquivo.

Basicamente você precisava fazer alguns ajustes em relação ao seguinte:

1) Você agora usa arquivos CSV ao invés de XLSX, o que muda a forma de conexão, então, fiz um ajuste;

2) Como a consulta trata um arquivo, você precisa transformar em função para tratar todos os arquivos de modo similar.

3) Fiz uns ajustes, também, na coluna que se repetia e eram iguais as originais.

 

No arquivo em anexo, basta alterar no parâmetro PastaBase o caminho da Pasta dos Arquivos.

477AJUDA - Vitor.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
19 horas atrás, Vitor Peralva disse:

Dei uma olhada no arquivo.

Basicamente você precisava fazer alguns ajustes em relação ao seguinte:

1) Você agora usa arquivos CSV ao invés de XLSX, o que muda a forma de conexão, então, fiz um ajuste;

2) Como a consulta trata um arquivo, você precisa transformar em função para tratar todos os arquivos de modo similar.

3) Fiz uns ajustes, também, na coluna que se repetia e eram iguais as originais.

 

No arquivo em anexo, basta alterar no parâmetro PastaBase o caminho da Pasta dos Arquivos.

477AJUDA - Vitor.pbix 62.8 kB · 1 download

Muito obrigado @Vitor Peralva.

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