Ir para conteúdo
  • 0

Transformar 2 colunas com range "De/Até" em uma lista (Dimensão)


andreteixeira
Ir para solução Solucionado por Vitor Peralva ,

Pergunta

  • Membros

Boa noite pessoal,
Tudo bem?

Eu tenho a seguinte situação: uma tabela dimensão dGMD, com o idGMD, uma coluna "Conta Contábil de" e outra "Conta Contábil até"

No exemplo que estou anexando, eu tenho o "GMD - DEPRECIAÇÃO" que possui as contas contábeis "403000" a "403003" e "403005" a "403010"..
Eu gostaria transformar esse range em uma coluna só em formato de lista, que teria como resultado quais contas contábeis pertence aquele ID

Em anexo eu deixo o exemplo do antes e depois, e também a base dGMD

Alguém poderia me ajudar?

Obrigado!
Att

dGMD.xlsx

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
  • Membros

Boa noite João!

Tudo bem e com você?

Obrigado pela ajuda! Mas vi o resultado que você enviou em anexo utilizando o colunas em linhas, mas não seria o resultado esperado..

Eu precisaria que a coluna nova contemplasse o range do "De/Até", como no exemplo do "GMD - Depreciação":

 

image.png.a322586ca69d5f2cc77d27de86cdc1a3.png

Att

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Boa Noite, @andreteixeira!

 

Vou tentar lhe auxiliar.

Pelo que observei, você irá trabalhar com números sequências, logo, a solução abaixo se encaixa bem para tal situação.

Vamos aos passos:

1) Importe a sua tabela para o Power Query, seja do Excel, seja do Power BI.

2) V[a na Guia Adicionar Coluna e escolha uma Coluna Personalizada.

3) Na janela que se abrir, dê um nome para a sua coluna, no caso, "Conta Contábil" e utilize a fórmula abaixo e depois dê OK:

= List.Numbers([Conta Contábil De], [Conta Contábil Até] - [Conta Contábil De] + 1)

Tentando explicar.

A List.Numbers cria uma lista de números.

Ela possui dois argumentos obrigatórios e um opcional:

a) O primeiro pede o número inicial, vai ser o primeiro registro da minha lista de números;

b) O segundo argumento é a quantidade de números que vão compor a lista.

Assim, se colocarmos para iniciar de 5 e colocarmos que queremos 6 números no segundo elemento, será gerada uma lista com 6 números {5, 6, 7, 8, 9, 10}

c) O terceiro argumento é opcional e se refere ao incremento que queremos dar.

Vamos supor que suas contas ao invés de 1 em 1, aumentassem de 10 em 10, bastaria usar o 10 como terceiro argumento.

Caso você omita o terceiro argumento, ele será interpretado como 1, que é o que aplicamos aqui.

 

Então, como primeiro argumento, eu coloquei [Conta Contábil De] que é justamente o primeiro número da conta contábil.

O número de itens que vamos querer é variável, logo, precisamos criar uma fórmula para obtê-lo.

Vamos pegar o maior número e substituir do menor para encontrar a diferença.

Só que ainda vai ter um problema.

No exemplo anterior, se pegássemos o 10 (maior número) e subtraíssemos do 5 (menor número) obteríamos como resultado o 5 e não o 6.

Como queremos incluir os valores de ambas extremidades, preciso colocar um + 1 para ficar certo.

 

4) Você vai obter algo como a imagem abaixo como resultado:

image.png.217c803f5a3410aa332aa2bab2d0b3cf.png

 

Para ver se deu certo, clique na parte branca ao lado de List e veja na parte inferior se deu certo:

image.thumb.png.006ff8f686357a24921929b4426b9459.png

 

Fiz uma amostragem aqui e como esperado, deu certo.

5) As colunas "Conta Contábil De" e "Conta Contábil Até" não são mais úteis. Selecione as colunas "idGMD" e "Conta Contábil", clique com o botão direito e selecione "Remover Outras Colunas"

 

6) Vamos expandir a nossa lista. Observe que neste momento você tem 60 linhas. Clique nas setinhas para lados opostos e selecione a opção Expandir para Novas Linhas. Você terá agora 127 linhas e a distribuição esperada.

 

Espero que tenha conseguido ajudar.

 

Vou ver se gravo um vídeo para o meu canal com a sua dúvida para que possa mostrar visualmente melhor.

 

 

 

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...