Resultados combinados é um recurso conveniente para combinar dados de diferentes Análises rapidamente e sem precisar desenvolver no LookML. Os resultados mesclados executam uma mesclagem à esquerda entre a consulta principal e as consultas secundárias. Isso significa que os nomes de campo, os valores correspondentes e a tabela de resultados finais dependem de como os dados das consultas secundárias correspondem à principal.
Isso pode causar resultados inesperados ao realizar mesclagens entre análises. A documentação dos resultados mesclados aborda algumas dessas condições,como:
- Quando uma consulta não tem um valor de dados correspondente
- Quando uma consulta tem várias linhas para o mesmo valor
No entanto, o que você faz quando espera que um valor de uma consulta secundária corresponda a um valor na consulta principal, mas o resultado final mostra valores nulos?
Esta página aborda como resolver esse problema inesperado.
Exemplo de caso de uso:
O caso de uso de exemplo a seguir é baseado em um conjunto de dados de e-commerce de amostra que contém informações do usuário e do pedido. Neste exemplo, você quer mesclar uma consulta, que é uma contagem de usuários por cidade (Contagem de usuários agrupada por Cidade dos usuários), com uma consulta secundária, que é uma contagem de pedidos (Contagem de pedidos) agrupada por Cidade dos usuários e Estado dos usuários:
Consulta principal
A consulta principal é Contagem de usuários agrupada por Cidade dos usuários:
Consulta secundária
A consulta secundária é Contagem de pedidos agrupada por Cidade dos usuários e Estado dos usuários:
A regra de mesclagem é definida para mesclar as duas consultas por Cidade dos usuários, o campo que as duas consultas têm em comum. Considerando que você já conhece o conjunto de dados e o comportamento esperado dos resultados mesclados, explicados na documentação vinculada anteriormente, você sabe que, em cada linha, cada cidade precisa ser associada a um estado e a uma contagem de usuários. Você espera que os resultados mesclados correspondam a todos os valores e não mostrem valores nulos.
No entanto, há valores nulos nos resultados. Mais da metade das cidades não corresponde a um estado ou a uma contagem de pedidos:
Soluções
Não entre em pânico. Se você tiver certeza de que há valores correspondentes nos dados (tente executar uma consulta separada para confirmar se esse é o caso), há várias soluções possíveis para corrigir esse resultado, incluindo:
- Classifique cada consulta de origem da mesma forma.
- Aumente o limite de linhas da consulta de origem.
Ordenar cada consulta de origem da mesma forma
Como os resultados combinados são baseados em análises detalhadas, que são limitadas a 500 linhas por padrão, às vezes os resultados da consulta que você está combinando não são incluídos no resultado final.
Para corrigir isso, edite e ordene as consultas de origem individuais para que elas se encaixem melhor.
No exemplo de caso de uso, a consulta principal é classificada em ordem crescente por Cidade dos usuários. A consulta secundária não é. Para corresponder melhor os resultados das duas consultas, ordene a consulta secundária da mesma forma que a principal. Neste caso, por Cidade dos usuários em ordem crescente.
Classificar a consulta secundária de forma semelhante à consulta principal corresponde aos resultados com mais precisão na mesclagem final:
Aumentar o limite de linhas da consulta de origem
Assim como na primeira solução descrita anteriormente, valores nulos inesperados podem ser causados pelos limites de linha definidos nas consultas de origem. Especificamente neste caso, a consulta secundária (limitada pelo padrão de 500 linhas) não tem linhas suficientes para corresponder a todas as linhas geradas pela consulta principal, fazendo com que os resultados nulos sejam mostrados na mesclagem final.
Para aumentar o número de linhas na consulta secundária e corresponder à consulta principal, aumente o limite de linhas da consulta secundária. Isso resulta em mais linhas possíveis para corresponder à consulta principal e menos valores nulos nas colunas da consulta secundária:
Resumo
Quando você se deparar com resultados mesclados inesperados, siga estas etapas para resolver o problema:
- Selecione a opção Limpar cache e atualizar no menu de engrenagem da Análise para garantir que a consulta esteja trazendo os resultados mais atualizados.
- Confirme se há valores correspondentes entre as consultas de origem em que nulos são exibidos, conforme descrito na seção E se uma consulta não tiver um valor de dados correspondente? da documentação de resultados mesclados.
- Classifique as consultas de origem para que elas se correspondam melhor.
- Aumente o limite de linhas das consultas de origem além do padrão para mostrar mais linhas que podem ser combinadas e mescladas.
- Se nenhuma das soluções discutidas aqui resolver o comportamento, codifique a lógica de junção no LookML para um resultado mais preciso, se possível.