Por que há valores nulos na minha consulta de resultados secundários mesclados?

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:

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:

Tabela de dados de resultados mesclados mostrando os resultados da consulta principal.

Consulta secundária

A consulta secundária é Contagem de pedidos agrupada por Cidade dos usuários e Estado dos usuários:

Tabela de dados de resultados mesclados mostrando os resultados da consulta secundária.

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, valores nulos nos resultados. Mais da metade das cidades não corresponde a um estado ou a uma contagem de pedidos:

Tabela de dados de resultados mesclados mostrando valores nulos para campos de consulta secundários.

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:

Tabela de dados de resultados mesclados que mostra valores não nulos para campos de consulta primários e secundários.

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: 

Tabela de dados de resultados mesclados que mostra valores não nulos para campos de consulta primários e secundários.

Resumo

Quando você se deparar com resultados mesclados inesperados, siga estas etapas para resolver o problema:

  1. 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.
  2. 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.
  3. Classifique as consultas de origem para que elas se correspondam melhor.
  4. Aumente o limite de linhas das consultas de origem além do padrão para mostrar mais linhas que podem ser combinadas e mescladas.
  5. 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.