Resultados combinados es una función muy útil que permite combinar datos de diferentes Exploraciones rápidamente y sin tener que desarrollar en LookML. Los resultados combinados realizan una combinación externa 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 coincidan los datos de las consultas secundarias con la principal.
Esto puede provocar resultados inesperados al combinar Exploraciones. En la documentación sobre los resultados combinados se abordan algunas de estas condiciones,como las siguientes:
- Cuando una consulta no tiene un valor de datos coincidente
- Cuando una consulta tiene varias filas con el mismo valor
Sin embargo, ¿qué ocurre cuando espera 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 problema.
Ejemplo de caso práctico
El siguiente ejemplo de caso práctico se basa en un conjunto de datos de comercio electrónico de muestra que contiene información sobre usuarios y pedidos. En este ejemplo, quiere combinar una consulta (el recuento de usuarios por ciudad, Recuento de usuarios agrupado por Ciudad de los usuarios) con una consulta secundaria (el recuento de pedidos, Recuento de pedidos) agrupada por Ciudad de los usuarios y Estado de los usuarios:
Consulta principal
La consulta principal es Número de usuarios agrupado por Ciudad de los usuarios:
Consulta secundaria
La consulta secundaria es Número de pedidos agrupada por Ciudad de los usuarios y Estado de los usuarios:
La regla de combinación se ha configurado para combinar ambas consultas por Ciudad del usuario, el campo que tienen en común. Como ya conoces el conjunto de datos y el comportamiento esperado de los resultados combinados que se explica 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 los resultados combinados coincidan con todos los valores y no muestren ningún valor nulo.
Sin embargo, hay valores nulos en los resultados. Más de la mitad de las ciudades no se corresponden con ningún estado o número de pedidos:
Soluciones
No te agobies. Si está seguro de que hay valores coincidentes en sus datos (pruebe a ejecutar una consulta independiente para confirmar que es así), hay varias soluciones posibles para corregir este resultado, entre las que se incluyen las siguientes:
- Ordena cada consulta de origen de la misma forma.
- Aumenta el límite de filas de la consulta de origen.
Ordenar cada consulta de origen de la misma forma
Como los resultados combinados se basan en Exploraciones, que están limitadas a 500 filas de forma predeterminada, a veces los resultados de las consultas 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 práctico de ejemplo, la consulta principal se ordena por Ciudad del usuario de forma ascendente. La consulta secundaria no lo es. Para que los resultados de las dos consultas coincidan mejor, puedes ordenar la consulta secundaria del mismo modo que la consulta principal. En este caso, por Ciudad del usuario de forma ascendente.
Si ordenas la consulta secundaria de forma similar a la consulta principal, los resultados coincidirán con mayor precisión en la combinación final:
Aumentar el límite de filas de la consulta de origen
Al igual que en la primera solución descrita anteriormente, los valores nulos inesperados pueden deberse a los límites de filas definidos en las consultas de origen. En este caso concreto, la consulta secundaria (limitada a 500 filas de forma predeterminada) 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 el número de filas de la consulta secundaria y que coincida con el de la consulta principal, puedes aumentar el límite de filas de la consulta secundaria. De esta forma, se pueden asociar más filas a la consulta principal y hay menos valores nulos en las columnas de la consulta secundaria:
Resumen
Si obtienes resultados combinados inesperados, puedes seguir estos pasos para solucionar el problema:
- Selecciona la opción Borrar caché y actualizar en el menú de la rueda dentada de Explorar para asegurarte de que la consulta obtiene los resultados más recientes.
- Confirme que hay valores coincidentes entre las consultas de origen en las que se muestran valores nulos, tal como se indica en la sección ¿Qué ocurre si una consulta no tiene un valor de datos coincidente? de la documentación sobre resultados combinados.
- Ordena las consultas de origen para que se correspondan mejor entre sí.
- Aumenta el límite de filas de las consultas de origen más allá del valor predeterminado para exponer más filas que se puedan asociar y combinar.
- Si ninguna de las soluciones que se han tratado aquí resuelve el problema, codifica de forma rígida la lógica de join en LookML para obtener un resultado más preciso, si es posible.