Sabe quando você precisa combinar dados entre duas tabelas duplicando as linhas da tabela de dados de acordo com a quantidade de e-mails apresentados para cada cliente?
Neste exemplo utilizarei a coluna cod_cliente como referência (chave) para conectar as duas tabelas.
No Power Query dentro do Power BI podemos mesclar as consultas.
Na imagem acima contem a "tabela de dados" que é a minha base "final" porem sem a coluna com os e-mails correspondentes dos clientes e "tabela de emails" com os emails de todos os clientes, inclusive de clientes que não preciso da informação no momento como o cliente D, ou seja, se um cliente existir apenas na tabela de e-mails e não na de dados (principal), ele não deverá ser incluído no resultado final esperado.
◼ Primeiro passo é carregar as duas planilhas dentro do power query.
◼ Depois que as tabelas forem carregadas, o relacionamento (cod_cliente) será detectado automático pelo Power Bi (a menos que você desabilite isso)
◼ Agora vamos criar uma terceira consulta (nosso resultado). Para isso, clique em Página Inicial (dentro do editor do Power Query), Nova Fonte, Consulta Nula
◼ Em editor Avançado da Consulta1 (resultado) podemos utilizar o script abaixo:
let
// Carregar a tabela de dados (etapa final da sua consulta de dados)
TabelaDados = #"Tabela de dados", // Nome correto da tabela de dados
// Carregar a tabela de emails que já foi carregada corretamente
TabelaEmails = emails, // Nome da consulta de emails
// Realizar a mesclagem (join) das tabelas com base no COD_CLIENTE
MesclarTabelas = Table.NestedJoin(TabelaDados, {"COD_CLIENTE"}, TabelaEmails, {"COD_CLIENTE"}, "Emails", JoinKind.LeftOuter),
// Expandir a coluna de e-mails, replicando as linhas da tabela de dados
ExpandirEmails = Table.ExpandTableColumn(MesclarTabelas, "Emails", {"EMAIL"}, {"EMAIL"}),
// Remover registros sem emails (opcional, remova esta linha se quiser manter os clientes sem email)
RemoverSemEmails = Table.SelectRows(ExpandirEmails, each [EMAIL] <> null)
in
RemoverSemEmails