¿Por qué hay valores nulos en mi consulta secundaria de resultados combinados?

Resultados combinados es una función conveniente para combinar datos de diferentes exploraciones con rapidez y sin desarrollar en LookML. Los resultados combinados realizan de manera efectiva una unión izquierda entre la consulta principal y las secundarias, lo que significa que los nombres de los campos, los valores coincidentes y la tabla de resultados final dependen de cómo los datos de las consultas secundarias coinciden con la principal.

Esto puede generar resultados inesperados cuando realizas combinaciones entre exploraciones. La documentación de los resultados combinados aborda algunas de estas condiciones,por ejemplo:

Sin embargo, ¿qué haces cuando esperas que un valor de una consulta secundaria coincida con un valor de la consulta principal, pero el resultado final muestra valores nulos?

En esta página, se explica cómo solucionar este resultado inesperado.

Ejemplo de caso de uso

El siguiente caso de uso de ejemplo se basa en un conjunto de datos de comercio electrónico de muestra que contiene información de usuarios y pedidos. En este ejemplo, quieres combinar una consulta, un recuento de usuarios por ciudad (Cantidad de usuarios agrupada por Ciudad de usuarios), con una consulta secundaria, un recuento de pedidos (Recuento de pedidos) agrupados por Ciudad de usuarios y Estado de usuarios:

Consulta principal

La consulta principal es Cantidad de usuarios agrupada por Ciudad de usuarios:

Explora la tabla de datos de resultados combinados que muestra los resultados de la consulta principal.

Consulta secundaria

La consulta secundaria es Recuento de pedidos y está agrupada por Ciudad de usuarios y Estado de los usuarios:

Explora la tabla de datos de resultados combinados en la que se muestran los resultados de la consulta secundaria.

La regla de combinación está establecida para combinar ambas consultas por Users City, campo que ambas consultas tienen en común. Dada la familiaridad con el conjunto de datos y el comportamiento esperado de los resultados combinados explicados en la documentación vinculada anteriormente, sabes que, en cada fila, cada ciudad debe coincidir con un estado y un recuento de usuarios. Esperas que tus resultados combinados coincidan con todos los valores y no muestren valores nulos.

Sin embargo, hay valores nulos en los resultados. Más de la mitad de las ciudades no coinciden con un estado o un recuento de pedidos:

Tabla de datos de resultados combinados que muestra valores nulos para los campos de consulta secundarios.

Soluciones

No te asustes. Si estás seguro de que hay valores coincidentes en tus datos (intenta ejecutar una consulta separada para confirmar que este sea el caso), existen varias soluciones posibles para solucionar este problema, incluidas las siguientes:

  • Ordena cada consulta de origen de la misma manera.
  • Aumenta el límite de filas de la consulta de origen.

Ordena cada consulta de origen de la misma manera

Debido a que los resultados combinados se basan en exploraciones, que están limitadas a 500 filas de forma predeterminada, a veces los resultados de la consulta que estás combinando no se incluyen en el resultado final.

Para solucionar este problema, puedes editar y ordenar tus consultas de origen individuales para que coincidan mejor entre sí. 

En el caso de uso de ejemplo, la consulta principal se ordena por Ciudad de usuarios de forma ascendente. La consulta secundaria no. Para que coincidan mejor con los resultados de las dos consultas, puedes ordenar la consulta secundaria de la misma manera que la principal, en este caso, por ciudad de usuarios de forma ascendente.

Ordenar la consulta secundaria de manera similar a la consulta principal coincide con los resultados de manera más precisa en la combinación final:

Tabla de datos de resultados combinados que muestra valores no nulos para los campos de consulta principal y secundaria.

Aumenta el límite de filas de la consulta de origen

De manera similar a la primera solución descrita anteriormente, los valores nulos inesperados pueden deberse a los límites de filas establecidos en las consultas de origen. Específicamente en este caso, la consulta secundaria (limitada por el valor predeterminado de 500 filas) no tiene suficientes filas para coincidir con todas las filas generadas por la consulta principal, lo que provoca que se muestren resultados nulos en la combinación final.

Para aumentar la cantidad de filas en la consulta secundaria de modo que coincidan con la consulta principal, puedes aumentar el límite de filas de la consulta secundaria. Esto da como resultado más filas posibles que coincidan con la consulta principal y menos valores nulos en las columnas de la consulta secundaria: 

Tabla de datos de resultados combinados que muestra valores no nulos para los campos de consulta principal y secundaria.

Resumen

Cuando te encuentras con resultados combinados inesperados, puedes seguir estos pasos para solucionar problemas:

  1. Selecciona la opción Borrar caché y actualizar del menú de ajustes de Explorar para asegurarte de que la consulta obtenga los resultados más actualizados.
  2. Confirma que hay valores coincidentes entre las consultas de origen en las que se muestran valores nulos, como se describe en la sección ¿Qué sucede si una consulta no tiene un valor de datos coincidente? de la documentación de resultados combinados.
  3. Ordena las consultas de origen para que coincidan mejor entre sí.
  4. Aumenta el límite de filas de las consultas de origen más allá del valor predeterminado para exponer más filas que pueden coincidir y combinar.
  5. Si ninguna de las soluciones analizadas aquí resuelve el comportamiento, codifica la lógica de join en LookML para obtener un resultado más preciso, si es posible.