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,


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.