Excel - consulta de energia (ou qualquer outra coisa) - juntar em correspondência parcial entre campos?

1

Na consulta de energia ( ou na consulta MS , ou realmente qualquer outra coisa que crie uma tabela atualizável que me permita os resultados desejados no excel), como posso participar em correspondências parciais entre dois campos?

Eu quero fazer algo semelhante a essa instrução SQL:

SELECT T1.SIZES AS SIZES,
       T2.PARTNO as PARTNO
FROM TABLE1 AS T1
LEFT JOIN TABLE2 AS T2
ON T2.APPLICATIONS LIKE '% ' T1.SIZES ' %'

Por exemplo: digamos que eu tenha TABLE1 com os seguintes dados no campo SIZES

  • TAMANHOS
  • P01
  • P02
  • P03
  • P04

E eu tenho TABLE2 , que tem os seguintes dados nos campos PART NO e APPLICATIONS

  • PARTNO
por CBRF23 18.08.2016 / 21:52

1 resposta

1

Eu não usaria uma função para isso, prefiro soluções com código mínimo / sem código, pois são mais fáceis de testar e manter.

Gostaria de começar com duas consultas, para TABLE1 e TABLE2. Eu usaria o botão Adicionar coluna / Adicionar coluna personalizada em cada um para adicionar uma coluna. Eu chamaria de Chave de correspondência fictícia e definiria a fórmula como

= 1

Agora, de volta à consulta TABLE1, eu adicionaria uma etapa de mesclagem e uniria a TABLE2, usando a chave de correspondência dummy e, em seguida, expandir as colunas originais de TABLE2. Agora você tem uma união cruzada de monstros de todas as linhas de TABLE1 contra todas as linhas de TABLE2. Não entre em pânico. Mesmo em escala, o PQ lida bem com esse cenário, melhor IMO que SQL ou ferramentas especializadas em ETL, que tendem a precisar de grandes quantidades de memória.

De qualquer forma, em seguida, usaria Adicionar colunas / Adicionar coluna condicional e especifique:

Novo nome da coluna: linha correspondente

Se (coluna) APLICATIVOS contiver (coluna) SIZES então (valor) Sim

Isso fornecerá uma coluna com o valor "Sim" somente nas linhas correspondentes. Filtre por esses valores e remova todas as colunas que você não quiser e pronto.

Total de linhas de código = 0.

    
por 27.08.2016 / 04:53