Ejercicio: Combinación de los resultados de tabla mediante el operador de búsqueda
En el ejercicio anterior, ha usado el operador join
para buscar el total de ventas por producto. En este ejercicio, usará el operador lookup
para buscar el total de ventas por país o región.
Use el operador lookup
.
El equipo de ventas quiere saber las ventas totales de la empresa por país o región. Puede usar un operador join
para obtener la información del cliente y del producto. Pero este tipo de consulta funciona mejor cuando use el operador lookup
para obtener esta información.
Recuerde que el operador lookup
enriquece una tabla de hechos con datos de una tabla de dimensión. Es algo parecido a leer un libro (tabla de hechos) y buscar palabras desconocidas en un diccionario (tabla de dimensión).
Para esta consulta, empezará con la tabla SalesFact y usará el operador lookup
a fin de obtener los datos de Customer y agregarlos a la tabla resultante.
Enel procedimiento siguiente, compilará la consulta en fases para comprender mejor el resultado del uso del operador lookup
.
Ejecute la consulta siguiente para obtener 10 filas arbitrarias coincidentes de la tabla SalesFact y la tabla Customers.
SalesFact | lookup Customers on CustomerKey | take 10
Eche un vistazo la lista resultante. Observe que la tabla resultante contiene columnas de la tabla SalesFact seguidas de columnas coincidentes de la tabla Customers.
Ejecute la consulta siguiente para obtener el total de ventas por país o región.
SalesFact | lookup Customers on CustomerKey | summarize TotalSales = count() by RegionCountryName | order by TotalSales desc
Los resultados deberían ser similares a los que aparecen en la imagen siguiente:
Eche un vistazo la lista resultante. Observe que las ventas principales están en Estados Unidos. Intente modificar la consulta para mostrar el total de ventas en Estados Unidos por estado.
En la unidad anterior, usó un rightouter join
para obtener el total de ventas por categoría de producto. La consulta tardó 0.834 segundos en ejecutarse. Ahora escriba una consulta para obtener el mismo resultado con el operador lookup
y luego comparando el tiempo de ejecución.
Ejecute la consulta siguiente.
SalesFact | lookup Products on ProductKey | summarize TotalSales = count() by ProductCategoryName | order by TotalSales desc
Los resultados deberían ser similares a los que aparecen en la imagen siguiente:
Observe que obtiene los mismos resultados, pero el tiempo de ejecución es de 0,398 segundos. El tiempo de ejecución más rápido se debe a que el operador
lookup
está optimizado para este tipo de consulta.