Función UNION DAX Vs Power Query

Función UNION DAX Vs Power Query

En este tutorial, aprenderá una técnica de optimización de DAX mediante la función UNION. Este tutorial comparará el rendimiento de la función UNION frente a Power Query y otras técnicas para combinar tablas.

La función combina dos tablas en una sola tabla combinando sus filas y eliminando las filas duplicadas.

El ejemplo de este tutorial es una tabla de Ventas que se ha dividido en tres tablas para cada año (2007, 2008, 2009).

Tabla de contenido

La función UNION en DAX

Abra DAX Studio e inicie Server Timings and Query Plan.

Función UNION DAX Vs Power Query

El siguiente código DAX se utiliza como ejemplo:

Función UNION DAX Vs Power Query

Después de ejecutar el código, vaya a la pestaña Tiempos del servidor . Puede ver que el código tarda un total de 5,4 segundos en ejecutarse. La mayor parte del tiempo de ejecución se gastó en el motor de almacenamiento . Cada una de estas tres consultas contiene la misma operación, pero los años son diferentes.

Función UNION DAX Vs Power Query

Después de que el motor de almacenamiento devuelve estas tres consultas, el motor de fórmula realiza una UNIÓN, que se puede ver en el plan de consulta lógica. El Plan de consulta también realiza un para calcular las Ventas totales.

Función UNION DAX Vs Power Query

En el Plan de consulta física, puede ver los tres cachés de datos que contienen las operaciones realizadas para cada año en la tabla Ventas.

Función UNION DAX Vs Power Query

Comparación del rendimiento de DAX

Para construir la comparación, creemos una medida para Ventas totales utilizando la tabla Ventas original.

Función UNION DAX Vs Power Query

Si ejecuta este código y va a la pestaña Tiempos del servidor , puede ver que esto es significativamente más eficiente que la función UNION.

La función UNION consume 97,9 kilobytes, mientras que la nueva medida solo consume 1 KB.

Función UNION DAX Vs Power Query

Cuando usa UNION, el motor DAX devuelve una gran cantidad de caché de datos al motor Formula. Esto ejerce mucha presión sobre la memoria RAM.

Entonces, si está tratando con un modelo de datos que contiene más de un millón de filas, no se recomienda usar la función UNION.

Alternativas de la función UNION DAX

En lugar de usar UNION, puede usar tres funciones SUMX para este ejemplo. Es decir, una función SUMX para cada año.

Función UNION DAX Vs Power Query

Cuando ejecuta este código y va a la pestaña Tiempos del servidor, puede ver que el tiempo de ejecución es significativamente menor. Pasó de 5400 ms a 33 ms mientras aún ejecutaba tres consultas diferentes.

Función UNION DAX Vs Power Query

Otra forma es agregar la tabla del modelo de datos en Power Query o en la propia fuente de datos.

Pero la mejor opción es crear una tabla calculada que realice la unión de esas tres tablas. Pero esta opción tiene sus pros y sus contras.

El uso de una tabla calculada le permite ahorrar el tiempo de procesamiento general en lugar de realizar una adición en Power Query. Sin embargo, esto hará que aumente el tamaño de la base de datos en VertiPaq.

Cuando usa una tabla calculada, está creando una nueva tabla que combina las tres tablas. Pero estas tres tablas divididas seguirán estando en la base de datos.

Función UNION DAX Vs Power Query

En este ejemplo, las tres tablas consumen un total de 25 MB. Si crea una tabla calculada, consumirá otros 25 MB en su RAM.

Para casos delicados como estos, debe tomar una decisión informada sobre cuál sería el mejor curso de acción a tomar.

Conclusión

La función UNION en DAX combina dos tablas en una, lo que facilita el análisis de datos. Funciona tomando dos tablas como entrada y devolviendo una nueva tabla que contiene todas las filas de ambas tablas de entrada. Sin embargo, esta función tiene sus propias limitaciones.

La función UNION puede ser más lenta que otros métodos de combinación de datos, especialmente si las tablas de entrada son grandes. También puede consumir más espacio en el almacenamiento en comparación con otras alternativas.

Siempre que una situación requiera combinar tablas, es importante sopesar primero los pros y los contras antes de decidir usar la función UNION. Sus alternativas incluyen la función SUMX, una tabla de modelo de datos o una tabla calculada.

Mis mejores deseos,


Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Cómo guardar y cargar un archivo RDS en R

Cómo guardar y cargar un archivo RDS en R

Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.

Introducción al contexto de filtro en LuckyTemplates

Introducción al contexto de filtro en LuckyTemplates

En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.

Ideas de materialización para cachés de datos en DAX Studio

Ideas de materialización para cachés de datos en DAX Studio

Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.

Informes comerciales con LuckyTemplates

Informes comerciales con LuckyTemplates

Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber