En este tutorial, aprenderá cómo se ejecuta una consulta DAX en LuckyTemplates DAX Studio. Este tutorial presenta dos diagramas de flujo. El primer diagrama de flujo muestra el proceso básico detrás de la ejecución de una consulta DAX. Mientras tanto, el segundo diagrama de flujo ofrece un ejemplo distinto para visualizar mejor el proceso.
Tabla de contenido
Diagrama de flujo de una consulta DAX en LuckyTemplates
Este diagrama de flujo muestra cómo DAX Studio ejecuta una consulta DAX.

El primer paso es, por supuesto, escribir la consulta DAX en LuckyTemplates DAX Studio. Cuando hace clic en la opción Ejecutar, se activa DAX Parser . Comprueba si el código que ha escrito es válido o no. Esto incluye verificar si la consulta está incompleta de alguna manera, como si falta una sintaxis o corchetes.

Una vez que se completa la verificación del analizador DAX, el motor de fórmulas convierte su consulta DAX en un conjunto de planes de consulta . Esto incluye tanto el plan de consulta lógico como el físico .
Una vez que se crea el plan de consulta lógica, el motor de fórmulas recupera los datos del motor de almacenamiento. Luego, el motor de almacenamiento crea el plan de consulta física. Posteriormente, el resultado se devuelve al usuario final.
Hay dos formas de devolver datos a Formula Engine. Formula Engine puede enviar la solicitud a la base de datos In Memory Columnar, VertiPaq , o a la fuente de datos relacional.

Una vez que VertiPaq recibe una solicitud de Formula Engine, suceden dos cosas: VertiPaq realiza un escaneo y ejecuta una consulta xmSQL . La memoria caché de datos se envía de vuelta al motor de fórmulas que, a su vez, envía el resultado a la persona que llama.
En el caso de DirectQuery , Analysis Services reenvía la solicitud desde Formula Engine a la fuente de datos. Luego, la fuente de datos ejecuta el idioma nativo, prepara un caché de datos y lo envía de regreso a Analysis Services.
Luego, Analysis Services envía la caché de datos a Formula Engine. Este motor trata la caché de datos y la envía al usuario final. En el caso de un modelo compuesto , se envía una solicitud parcial a VertiPaq que luego se enviará a DirectQuery.
Ejemplo de una consulta DAX en LuckyTemplates
Veamos un ejemplo para entender mejor el proceso.

Por ejemplo, desea escribir un código DAX que calcule el monto de Ventas totales si el color del producto es "Rojo".

Cuando ejecuta este código, el analizador DAX primero verificará si cometió algún error en el código.
Si todo está bien, Formula Engine preparará el plan de consulta lógica y recuperará la memoria caché de datos del motor de almacenamiento. Una vez que el motor de almacenamiento recibe la solicitud, un lenguaje pseudo SQL llamado xmSQL crea una consulta.

Luego, el código xmSQL recupera la caché de datos y la envía a Formula Engine.

La memoria caché de datos puede ser de una o varias columnas. Una vez que Formula Engine recibe el caché de datos, lo itera fila por fila.
Según el tipo de consulta recibida por Formula Engine, el resultado se devolverá en forma de valor escalar o tabla.
Conclusión
Esta fue una descripción general rápida de cómo se ejecuta una consulta DAX en LuckyTemplates DAX Studio. Con suerte, los diagramas de flujo presentados en este tutorial lo ayudaron a comprender el flujo lógico de una consulta DAX en modelos tabulares.
Puede ser un poco confuso si es nuevo en el concepto de consultas. Pero una vez que comprenda cómo funciona, será más fácil de entender e implementar.