Ir para conteúdo
  • 0

Coluna nova que mostre o valor de uma linha em outra linha da tabela


brunobaccili
Ir para solução Solucionado por paulocesarmlf ,

Pergunta

  • Alunos

Eu preciso criar uma coluna que me mostre o valor da "Conta Plano Iva" na mesma linha das colunas "CONTA" e "CONTA ORIGEM".

Por exemplo, na linha 2, Id Num Diário: 001.2022.41.30002, Conta: 2432313, Conta Origem: 621113, Conta Plano IVA está vazia.

O valor correspondente para a Conta Plano Iva nesta linha seria 12332311 que está logo abaixo na linha 3.

O que eu pensei foi fazer um join, utilizando para Id Num Diario, entre a coluna "CONTA" linha 3: 621113 e a coluna "CONTA ORIGEM" linha 2: 621113,
para que o valor da coluna "CONTA PLANO IVA": 12332311", fique na mesma linha da coluna "CONTA": 2432313.

Para o ID Num Diário: 001.2022.VENDE.30002, penso que seja mais complexo, por ter mais linhas, mas a lógica é a mesma:
A "CONTA ORIGEM" 711113" faz join com a "CONTA" 711113 e retorna o valor 13113231 na mesma linha "CONTA": 2433113;
A "CONTA ORIGEM" 721113" faz join com a "CONTA" 721113 e retorna o valor 13113231 na mesma linha "CONTA": 2433113;
A "CONTA ORIGEM" 723113" faz join com a "CONTA" 723113 e retorna o valor 13113231 na mesma linha "CONTA": 2433113.

Conta_ContaOrigem_ContaPlanoIva.jpg

Conta_ContaOrigem_ContaPlanoIva.csv

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
13 horas atrás, brunobaccili disse:
14 horas atrás, paulocesarmlf disse:

Consegue explicar a lógica por de trás dos preenchimentos? Não consegui pegar dessa vez 😞

 

é quando quais pontos batem que ele preenche o valor?

 

porque os valores estão indo para aqueles lugares? Quais são os pontos que definem para onde eles vão?

A única coluna que encontrei referência em comum é a coluna "CONTA ORIGEM". Pela coluna "Id Num Diário" preciso fazer uma coluna nova que traga o resultado da correspondência entre as colunas "CONTA" e "CONTA PLANO IVA".

Por exemplo, na linha 2 do Id Num Diário: 001.2022.41.30079:

Id Num Diário: 001.2022.41.30079
Conta: 2432313

Conta Origem: 2513143
Conta Plano IVA: blank()
Conta IVA (é a nova coluna): 12332311 (deveria ser: 12232311)

A correspondência que eu encontrei foi a coluna "Conta Origem" : 2513143, na linha 2, que faz correspondência com a coluna "Conta":  2513143, da linha 4 que tem o valor que eu preciso na coluna "Plano Conta Iva": 12232311.

Nota-se que na linha 3, em que a coluna "Conta Origem": 6918113, corresponde na linha 5 com a coluna "Conta": 6918113, leu o registro na linha 5, coluna "Conta Plano IVA" 12332311 e retornou o valor correto na linha que eu preciso, linha 3, da conta Plano IVA.

Ficaria assim:

Id Num Diário               Conta               Conta Origem      Conta Plano IVA     Conta IVA (nova coluna)
001.2022.41.30079     2432213          2513143 (1)                                          12232311 (1): relacionar as colunas "CONTA"  e "CONTA ORIGEM" para buscar "CONTA PLANO IVA"
001.2022.41.30079     2432313          6918113 (2)                                          12332311 (2):  relacionar as colunas "CONTA" e "CONTA ORIGEM" para buscar "CONTA PLANO IVA"
001.2022.41.30079     2513143 (1)                                  12232311 (1)           (não precisa "Conta Plano IVA" aqui: pode ficar vazio)
001.2022.41.30079     6918113 (2)                                  12332311 (2)           (não precisa "Conta Plano IVA" aqui: pode ficar vazio)

A mesma lógica vale para o Id Num Diário 001.2022.41.30080 e assim por diante.

No exemplo anterior que deu certo foi porque os valores da Conta Plano IVA coincidiram de ser as mesmas.

Eu demorei para entender isso também. O que o usuário faz hoje é buscar esses dados do ERP e faz uma Pivot Table no Excel para que esses dados se correspondam.

Falaaa, boy!

Masho testei outra solução aqui e bateu com o que tu mostrou ai só que eu nao testei pra todos porque to sem tempo kkkkk, mas nesses dois casos ai que você mostrou deu bom.

Consegue colocar a formula e validar? Qualquer coisa é só avisar...

CONTA IVA 2 =
var vIdNumDiario = VALUES(Conta_ContaOrigem_ContaPlanoIva2[Id Num Diário])
var vIdNumDiario2 = Conta_ContaOrigem_ContaPlanoIva2[Id Num Diário]
var vPossibilidadesConta =
CALCULATETABLE(
VALUES(Conta_ContaOrigem_ContaPlanoIva2[Conta]),
FILTER(
ALL(Conta_ContaOrigem_ContaPlanoIva2),
Conta_ContaOrigem_ContaPlanoIva2[Id Num Diário] IN vIdNumDiario && NOT ISBLANK(Conta_ContaOrigem_ContaPlanoIva2[Conta Plano Iva])))
var vContaOrigem = Conta_ContaOrigem_ContaPlanoIva2[Conta Origem]
 
var vContaIvaCalculada =
CALCULATE(
MAX(Conta_ContaOrigem_ContaPlanoIva2[Conta Plano Iva]),
FILTER(
Conta_ContaOrigem_ContaPlanoIva2,
Conta_ContaOrigem_ContaPlanoIva2[Id Num Diário] = vIdNumDiario2 && Conta_ContaOrigem_ContaPlanoIva2[Conta] = vContaOrigem))
 
return
SWITCH(
TRUE(),
ISBLANK(Conta_ContaOrigem_ContaPlanoIva2[Conta Plano Iva]),
vContaIvaCalculada,
NOT(ISBLANK(Conta_ContaOrigem_ContaPlanoIva2[Conta Plano Iva])),
Conta_ContaOrigem_ContaPlanoIva2[Conta Plano Iva]
)
  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, brunobaccili disse:

Eu preciso criar uma coluna que me mostre o valor da "Conta Plano Iva" na mesma linha das colunas "CONTA" e "CONTA ORIGEM".

Por exemplo, na linha 2, Id Num Diário: 001.2022.41.30002, Conta: 2432313, Conta Origem: 621113, Conta Plano IVA está vazia.

O valor correspondente para a Conta Plano Iva nesta linha seria 12332311 que está logo abaixo na linha 3.

O que eu pensei foi fazer um join, utilizando para Id Num Diario, entre a coluna "CONTA" linha 3: 621113 e a coluna "CONTA ORIGEM" linha 2: 621113,
para que o valor da coluna "CONTA PLANO IVA": 12332311", fique na mesma linha da coluna "CONTA": 2432313.

Para o ID Num Diário: 001.2022.VENDE.30002, penso que seja mais complexo, por ter mais linhas, mas a lógica é a mesma:
A "CONTA ORIGEM" 711113" faz join com a "CONTA" 711113 e retorna o valor 13113231 na mesma linha "CONTA": 2433113;
A "CONTA ORIGEM" 721113" faz join com a "CONTA" 721113 e retorna o valor 13113231 na mesma linha "CONTA": 2433113;
A "CONTA ORIGEM" 723113" faz join com a "CONTA" 723113 e retorna o valor 13113231 na mesma linha "CONTA": 2433113.

Conta_ContaOrigem_ContaPlanoIva.jpg

Conta_ContaOrigem_ContaPlanoIva.csv 2 kB · 2 downloads

Essa foi mais complicada kkkkk, testa a formula abaixo e vê se da certo para todos os teus dados.

Nesses que você me enviou bateu direitinho:

CONTA IVA =
var vIdNumDiario = VALUES(Conta_ContaOrigem_ContaPlanoIva[Id Num Diário])
var vIdNumDiario2 = Conta_ContaOrigem_ContaPlanoIva[Id Num Diário]
var vPossibilidadesConta =
CALCULATETABLE(
VALUES(Conta_ContaOrigem_ContaPlanoIva[Conta]),
FILTER(
ALL(Conta_ContaOrigem_ContaPlanoIva),
Conta_ContaOrigem_ContaPlanoIva[Id Num Diário] IN vIdNumDiario))
 
var vContaIvaCalculada =
CALCULATE(
MAX(Conta_ContaOrigem_ContaPlanoIva[Conta Plano Iva]),
FILTER(
Conta_ContaOrigem_ContaPlanoIva,
Conta_ContaOrigem_ContaPlanoIva[Id Num Diário] = vIdNumDiario2))
return
SWITCH(
TRUE(),
Conta_ContaOrigem_ContaPlanoIva[Conta Origem] IN vPossibilidadesConta || NOT(ISBLANK(Conta_ContaOrigem_ContaPlanoIva[Conta Plano Iva])),
vContaIvaCalculada,
BLANK())

 

Trouxe como exemplo só essa pintada de cinza que me pareceu a mais complexa, olha como ficou o resultado:


image.thumb.png.72a35e1f68fc2efb8d8d13c7ee2cde3c.png

 

 

 

 

 

 

 

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

  • 0
  • Alunos

Oi Paulo, tudo bem?

Vc não sabe o tamanho da ajuda que está me dando! Esse projeto está me deixando doido, hahahaha

Pelos dados que eu te enviei deu certinho sim, mas eu fui verificar outros e vi que esse resultado bateu por coincidência. Mas está quase certo.

Eu tentando fazer aqui também baseado na sua fórmula. No entanto, vou enviar de novo com os novos dados e print novo.

Os quadros verdes estão corretos. Os vermelhos é que faltam corrigir.

Até logo! 😉 

Conta_ContaOrigem_ContaPlanoIva2.jpg

Conta_ContaOrigem_ContaPlanoIva2.csv

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, brunobaccili disse:

Oi Paulo, tudo bem?

Vc não sabe o tamanho da ajuda que está me dando! Esse projeto está me deixando doido, hahahaha

Pelos dados que eu te enviei deu certinho sim, mas eu fui verificar outros e vi que esse resultado bateu por coincidência. Mas está quase certo.

Eu tentando fazer aqui também baseado na sua fórmula. No entanto, vou enviar de novo com os novos dados e print novo.

Os quadros verdes estão corretos. Os vermelhos é que faltam corrigir.

Até logo! 😉 

Conta_ContaOrigem_ContaPlanoIva2.jpg

Conta_ContaOrigem_ContaPlanoIva2.csv 67 kB · 1 download

Consegue explicar a lógica por de trás dos preenchimentos? Não consegui pegar dessa vez 😞

 

é quando quais pontos batem que ele preenche o valor?

 

porque os valores estão indo para aqueles lugares? Quais são os pontos que definem para onde eles vão?

Editado por paulocesarmlf
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
14 minutos atrás, paulocesarmlf disse:

Consegue explicar a lógica por de trás dos preenchimentos? Não consegui pegar dessa vez 😞

 

é quando quais pontos batem que ele preenche o valor?

 

porque os valores estão indo para aqueles lugares? Quais são os pontos que definem para onde eles vão?

A única coluna que encontrei referência em comum é a coluna "CONTA ORIGEM". Pela coluna "Id Num Diário" preciso fazer uma coluna nova que traga o resultado da correspondência entre as colunas "CONTA" e "CONTA PLANO IVA".

Por exemplo, na linha 2 do Id Num Diário: 001.2022.41.30079:

Id Num Diário: 001.2022.41.30079
Conta: 2432313

Conta Origem: 2513143
Conta Plano IVA: blank()
Conta IVA (é a nova coluna): 12332311 (deveria ser: 12232311)

A correspondência que eu encontrei foi a coluna "Conta Origem" : 2513143, na linha 2, que faz correspondência com a coluna "Conta":  2513143, da linha 4 que tem o valor que eu preciso na coluna "Plano Conta Iva": 12232311.

Nota-se que na linha 3, em que a coluna "Conta Origem": 6918113, corresponde na linha 5 com a coluna "Conta": 6918113, leu o registro na linha 5, coluna "Conta Plano IVA" 12332311 e retornou o valor correto na linha que eu preciso, linha 3, da conta Plano IVA.

Ficaria assim:

Id Num Diário               Conta               Conta Origem      Conta Plano IVA     Conta IVA (nova coluna)
001.2022.41.30079     2432213          2513143 (1)                                          12232311 (1): relacionar as colunas "CONTA"  e "CONTA ORIGEM" para buscar "CONTA PLANO IVA"
001.2022.41.30079     2432313          6918113 (2)                                          12332311 (2):  relacionar as colunas "CONTA" e "CONTA ORIGEM" para buscar "CONTA PLANO IVA"
001.2022.41.30079     2513143 (1)                                  12232311 (1)           (não precisa "Conta Plano IVA" aqui: pode ficar vazio)
001.2022.41.30079     6918113 (2)                                  12332311 (2)           (não precisa "Conta Plano IVA" aqui: pode ficar vazio)

A mesma lógica vale para o Id Num Diário 001.2022.41.30080 e assim por diante.

No exemplo anterior que deu certo foi porque os valores da Conta Plano IVA coincidiram de ser as mesmas.

Eu demorei para entender isso também. O que o usuário faz hoje é buscar esses dados do ERP e faz uma Pivot Table no Excel para que esses dados se correspondam.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Cara, funcionou! Era isso mesmo! Desculpe não ter enviado os dados certos antes, mas só na conferência que vi que tinha mais de um tipo de conta. Aí tinha dado certo por coincidência.

Tu é muito fera, resolveu isso em minutos e eu aqui quebrando a cabeça no chão, hahaha!

Parabéns!!!!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
25 minutos atrás, brunobaccili disse:

Cara, funcionou! Era isso mesmo! Desculpe não ter enviado os dados certos antes, mas só na conferência que vi que tinha mais de um tipo de conta. Aí tinha dado certo por coincidência.

Tu é muito fera, resolveu isso em minutos e eu aqui quebrando a cabeça no chão, hahaha!

Parabéns!!!!

Nada masho, estamos juntos!

Consegue marcar a minha resposta como correta? (acho que tu marcou a tau resposta como a correta kkkk)

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