Resultados combinados es una función conveniente para combinar datos de diferentes exploraciones rápidamente y sin desarrollar en LookML. Los resultados combinados realizan de manera eficaz una combinación izquierda entre la consulta principal y las consultas secundarias, lo que significa que los nombres de los campos, los valores coincidentes y la tabla de resultados finales dependen de cómo coincidan los datos de las consultas secundarias con los de la principal.
Esto puede generar resultados inesperados cuando realizas combinaciones entre Exploraciones. La documentación de los resultados combinados aborda algunas de estas condiciones,como las siguientes:
- Cuando una consulta no tiene un valor de datos coincidente
- Cuando una consulta tiene varias filas para el mismo valor
Sin embargo, ¿qué sucede 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 problema 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 del usuario y del pedido. En este ejemplo, deseas combinar una consulta, un recuento de usuarios por ciudad (Cantidad de usuarios agrupados por Ciudad de los usuarios), con una consulta secundaria, un recuento de pedidos (Cantidad de pedidos) agrupados por Ciudad de los usuarios y Estado de los usuarios:
Consulta principal
La consulta principal es Cantidad de usuarios agrupada por Ciudad de los usuarios:
Consulta secundaria
La consulta secundaria es Cantidad de pedidos agrupada por Ciudad de los usuarios y Estado de los usuarios:
La regla de combinación está configurada para combinar ambas consultas por Ciudad de los usuarios, el campo que ambas tienen en común. Dado que 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 valores nulos.
Sin embargo, hay valores nulos en los resultados. Más de la mitad de las ciudades no coinciden con un estado ni con un recuento de pedidos:
Soluciones
No entres en pánico. Si tienes la certeza de que hay valores coincidentes en tus datos (intenta ejecutar una consulta independiente para confirmar que este es el caso), existen varias soluciones posibles para solucionar este problema, como las siguientes:
- Ordena cada consulta de fuente de la misma manera.
- Aumenta el límite de filas de la consulta de origen.
Ordena cada consulta de fuente de la misma manera
Debido a que los resultados combinados se basan en Exploraciones, que se limitan a 500 filas de forma predeterminada, a veces los resultados de la consulta que combinas 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 de forma ascendente por Ciudad de los usuarios. La consulta secundaria no lo es. Para que los resultados de las dos consultas coincidan mejor, puedes ordenar la consulta secundaria de la misma manera que la principal; en este caso, por Ciudad de los usuarios en orden ascendente.
Ordenar la consulta secundaria de manera similar a la consulta principal hace que los resultados coincidan con mayor precisión en la combinación final:
Aumenta el límite de filas de la consulta de origen
De manera similar a la primera solución que se describió anteriormente, los límites de filas establecidos en las consultas de origen pueden causar valores nulos inesperados. 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 hace que se muestren resultados nulos en la combinación final.
Para aumentar la cantidad de filas en la consulta secundaria para que coincida con la consulta principal, puedes aumentar el límite de filas de la consulta secundaria. Esto genera más filas posibles que coincidan con la consulta principal y menos valores nulos en las columnas de la consulta secundaria:
Resumen
Cuando tengas resultados combinados inesperados, puedes seguir estos pasos para solucionar el problema:
- Selecciona la opción Borrar caché y actualizar en el menú de ajustes de Explorar para asegurarte de que la consulta muestre los resultados más actualizados.
- Confirma que haya 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.
- Ordena las consultas de origen para que coincidan mejor entre sí.
- Aumenta el límite de filas de las consultas de origen más allá del predeterminado para exponer más filas que se puedan hacer coincidir y combinar.
- Si ninguna de las soluciones que se analizaron aquí resuelve el comportamiento, codifica la lógica de combinación en LookML para obtener un resultado más preciso, si es posible.