Consultas DAX usando variables y funciones importantes

Este tutorial discutirá acerca de las variables, incluidas las funciones y CALCULATE . Comprenderá cómo estos ayudan a mejorar el rendimiento de sus consultas DAX y brindan resultados precisos.

Las variables deben usarse tanto como sea posible porque pueden ubicar fácilmente los códigos para la optimización. Le impiden obtener resultados incorrectos y le ahorran tiempo buscando el error. Sin embargo, las variables a veces impiden que se vuelva a calcular un valor. Entonces, una vez que se definen con un valor, ese valor no se puede cambiar, ni siquiera mediante CALCULATE .

Es importante saber dónde debe definir y usar variables porque usarlas dentro y fuera de una iteración generará resultados diferentes. Deben definirse cerca de donde se utilizarán. Esto también ayuda a desglosar códigos largos, haciéndolos más fáciles de entender y depurar.

Tabla de contenido

Cree consultas DAX con CALCULATE y FILTER

Existen diferentes métodos para obtener resultados y respuestas en DAX. Debe desarrollar su propio estilo y fluidez al crear su informe para que pueda sentirse cómodo con lo que está trabajando. Incluso si tiene su propio estilo, debe seguir las pautas específicas, que incluyen el uso de CALCULATE sobre diferentes métodos, como FILTER .

FILTER puede enviar una gran cantidad de datos sin comprimir al motor de fórmulas y potencialmente puede desencadenar un CallBackDataID. Las medidas se utilizarán aquí para mostrar los resultados de CALCULATE y FILTER . Esto también tiene una medida definida que es local para la consulta. Las medidas definidas no se pueden encontrar en el modelo de datos, pero pueden desarrollar y solucionar problemas de sus códigos más rápido.

Consultas DAX usando variables y funciones importantes

En la primera línea, puede ver una medida que define una variable para la fecha. Esto significa que filtra la tabla de hechos para las fechas que ocurren a partir del 31 de marzo de 2016. También puede ver una medida simple de las ventas totales que itera la tabla de ventas de hechos y multiplica la cantidad y el precio actual.

La siguiente medida es usar dentro de . Si recuerda del módulo CallBackDataID , el uso de un IF dentro de la función SUMX creará un CallBackDataID .

Consultas DAX usando variables y funciones importantes

Esta medida está filtrando toda la tabla Fact Sales. Elimina los filtros provenientes de la tabla Fecha.

Consultas DAX usando variables y funciones importantes

Debe tener cuidado al filtrar una tabla completa porque también filtrará todas las columnas que están en un lado de la relación de uno a muchos.

Esta medida es igual a la medida anterior; la única diferencia es que no filtra toda la tabla. Utiliza SUMX solo para iterar una tabla filtrada.

Consultas DAX usando variables y funciones importantes

Esta es otra medida que filtra la tabla Fact Sales, pero esta vez solo en la columna en la que se encuentra.

Consultas DAX usando variables y funciones importantes

La última medida es usar CALCULATE y el modelo de datos para filtrar y recuperar datos.

Consultas DAX usando variables y funciones importantes

Ejecutar y comprobar cada medida

Primero, ejecute la medida IF . Asegúrese de borrar el caché antes de ejecutar la consulta y active los tiempos del servidor y el plan de consulta.

Consultas DAX usando variables y funciones importantes

Consultas DAX usando variables y funciones importantes

Aunque proporciona los datos correctos, el rendimiento es lento debido a CallBackDataID y las 3 duraciones.

Si ejecuta la medida que filtra toda la tabla Fact Sales, aún puede ver CallBackDataID . También generará 15 003 filas y proporcionará resultados incorrectos.

Consultas DAX usando variables y funciones importantes

Consultas DAX usando variables y funciones importantes

Cuando ejecuta la medida que no filtra toda la tabla Fact Sales, obtendrá los resultados correctos. Sin embargo, seguirá viendo CallBackDataID y las 15 003 filas materializadas, pero solo tendrá 7 filas de salida.

Consultas DAX usando variables y funciones importantes

Consultas DAX usando variables y funciones importantes

Ejecute la siguiente medida que filtra en una columna. Obtendrá los resultados correctos y eliminará CallBackDataID . Pero todavía se puede ver que se materializó un montón de filas.

Consultas DAX usando variables y funciones importantes

Consultas DAX usando variables y funciones importantes

Ejecute la medida CALCULAR . Puede ver que solo materializó 10 filas y generó los datos correctos en 5 milisegundos.

Consultas DAX usando variables y funciones importantes

Consultas DAX usando variables y funciones importantes

Es la más rápida entre todas las medidas anteriores porque no tiene CallBackDataID y extrajo solo 10 filas. Esto demuestra lo impresionante que es CALCULATE para obtener resultados rápidos y precisos.

Si ejecuta todas las consultas o medidas DAX, puede ver cuál es la más lenta y la más rápida en función de la duración. También puede ver los resultados de cada medida.

Consultas DAX usando variables y funciones importantes

Consultas DAX usando variables y funciones importantes

Conclusión

Al mover los filtros a CALCULATE, ahorrará tiempo y materialización porque se eliminará CallBackDataID . No tendrá que iterar los datos dos veces. Esto también maximizará el rendimiento de su DAX y lo ayudará a mejorar sus habilidades de desarrollo.

Leave a Comment

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.