Saltar al contenido principal

DAX RESUMIR(): Guía para agrupar y resumir datos

La función SUMMARIZE() de DAX crea tablas resumen agrupando datos y aplicando funciones de agregación en herramientas como Power BI y Excel Power Pivot. Sigue leyendo para aprender a utilizar DAX SUMMARIZE() para agrupar y agregar tus datos y obtener buenas perspectivas.
Actualizado 11 oct 2024  · 9 min de lectura

No luches con grandes conjuntos de datos. Domina el arte de agrupar y agregar datos utilizando la función DAX SUMMARIZE(), que te permite descubrir patrones ocultos y tomar mejores decisiones. Con DAX SUMMARIZE(), puedes crear un mininforme dentro de tu conjunto de datos más grande y elegir qué información agrupar y qué números sumar. Es extremadamente, extremadamente útil.

Sigue leyendo y te ayudaré a comprender DAX SUMMARIZE() en detalle para que puedas utilizarlo eficazmente en muchos escenarios. Iif you're new to DAX and want more resources, also check out our Power BI DAX Tutorial for Beginners for a more general view. También puedes seguir nuestro curso Introducción a DAX en Power BI para una formación real; el curso incluye técnicas básicas pero también más avanzadas, por lo que es bueno para profesionales de todos los niveles.  

¿Qué es la función DAX SUMMARIZE()?

La función DAX SUMMARIZE() toma tus datos y los agrupa en función de las columnas que elijas. Después, calcula totales u otros resúmenes para cada grupo.

Por ejemplo, supongamos que tienes una gran lista de datos de ventas con información sobre productos, regiones e importes de ventas. Aquí puedes utilizar SUMMARIZE() para agrupar todos esos datos por producto o región y ver las ventas totales de cada grupo. 

Te encontrarás con DAX en varias herramientas de Microsoft, como:

Una vez que entiendas SUMMARIZE(), podrás organizar tus datos de forma eficiente, creando mejores informes y profundizando en tus datos para obtener valiosas perspectivas. Así que, la próxima vez que trabajes con un gran conjunto de datos y necesites darle sentido rápidamente, utiliza la función SUMMARIZE().

Domina Power BI desde cero

No necesitas experiencia: aprende a trabajar con datos a través de Power BI.
Empieza a aprender gratis

DAX SUMMARIZE() y agrupación de datos

Así es como la función SUMMARIZE() crea tablas resumen basadas en columnas y agregaciones especificadas:

SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)

En la sintaxis anterior:

  • table es la tabla de origen de tus datos.

  • groupBy_columnName es la columna o columnas por las que quieres agrupar.

  • name es el nombre de tu nueva columna calculada.

  • expression es el cálculo que quieres realizar.

Puedes utilizar SUMMARIZE() con cualquier tabla o columna de tu conjunto de datos, lo que lo hace muy versátil.

Agrupación básica

Veamos un ejemplo sencillo de agrupación básica con SUMMARIZE().

Primero, importa el conjunto de datos a Power BI. Para ello, ve a lapestaña Inicio > Obtener datos. Selecciona la opción correspondiente a tu archivo guardado en el menú desplegable y cárgalo. En este ejemplo, tengo un conjunto de datos con columnas para Año, Producto e ImporteVentas. Ahora importaré esto a Power BI.

Una tabla en Power BI que necesita ser agregada con DAX SUMMARIZE()

Una tabla llamada ventas. Imagen del autor.

Una vez importados los datos, ve a la pestañaModelado > Nueva tabla. A continuación, introduce la siguiente fórmula para agrupar por el Año y agregar el Ventas totales.

	SummaryTable =
	SUMMARIZE(
	    sales,
	    sales[Year],
	    "Total Sales", SUM(sales[SalesAmount])
	)

Barra de fórmulas en Power BI utilizando la función SUMMARIZE()

Barra de fórmulas. Imagen del autor.

En esta fórmula:

  • SummarizedTable crea una nueva tabla.

  • SUMMARIZE( empieza a agrupar y resumir datos.

  • SalesData, es la tabla de origen.

  • SalesData[Year], grupos por Año columna.

  • "Total Sales", SUM(SalesData[SalesAmount]) crea una nueva columna llamada Ventas totales que suma ImporteVentas de cada año.

Resumir las ventas totales utilizando la función DAX SUMMARIZE() en Power BI

Resultados resumidos. Imagen del autor.

Aquí, la función SUMMARIZE() crea una tabla resumen agrupando los datos por Año y calcula el Ventas totales sumando el ImporteVentas de cada año.

Agrupación múltiple

SUMMARIZE() también puede gestionar agrupaciones más complejas. Vamos a entenderlo con un ejemplo. Aquí, tengo un conjunto de datos con columnas para Año, Producto, Región e Importe de ventas.

Tabla de datos de ventas en Power BI

Una tabla llamada datos_ventas. Imagen del autor.

Aquí, estoy agrupando por Año y Región para calcular el Ventas totales de cada combinación.

	SummarizedTable =
	SUMMARIZE(
	    sales_data,
	    sales_data[Year],
	    sales_data[Region],
	    "Total Sales", SUM(sales_data[SalesAmount])
	)

En esta fórmula: 

  • sales_data es la tabla donde se almacenan tus datos.

  • sales_data[Year] es la primera columna que se agrupa por Año.

  • sales_data[Region] es la segunda columna agrupada por Región.

  • "Total Sales" es el nombre de la columna personalizada para la suma de ventas.

  • SUM(SalesData[SalesAmount]) suma las ventas de cada grupo.

Utilizar la función DAX SUMMARIZE() en Power BI

Resumir varias columnas. Imagen del autor.

Aquí, la agrupación múltiple nos ayudó a visualizar las tendencias de ventas tanto por Región como por Año. Las regiones Norte y Este muestran un crecimiento de 2021 a 2023. El Sur tuvo unas ventas elevadas en 2022, mientras que el Oeste sólo tiene datos para 2022-2023 .

Técnicas avanzadas con DAX SUMMARIZE()

Aunque SUMMARIZE() es útil, puedes combinarla con otras funciones DAX para probar capacidades de análisis de datos aún más sofisticadas. Así pues, exploremos algunos ejemplos para ver cómo las técnicas avanzadas pueden aprovechar SUMMARIZE() para realizar agregaciones y resúmenes complejos.

Utilizar SUMMARIZE() con ROLLUP()

La función ROLLUP() de SUMMARIZE() añade filas de subtotales a tus tablas resumen para mostrar subtotales a través de distintos niveles de agrupación y proporcionar resúmenes jerárquicos más detallados. Si trabajas en el campo de las finanzas o en cualquier función de análisis relevante, te resultará especialmente útil para realizar agregaciones multinivel.

  1. Añade la palabra clave ROLLUP() después de tus columnas de agrupación en SUMMARIZE().

  2. Especifica qué columnas deben incluirse en el cálculo de ROLLUP().

SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, ROLLUP(<groupBy_columnName>[,< groupBy_columnName>…])][, <name>, <expression>]…)

Por ejemplo, este conjunto de datos muestra las Ventas y la Cantidad de cada Producto en una Región concreta. Ahora, tengo que encontrar el resumen de ventas por Región y Producto, con subtotales y totales.

DAX SUMMARIZE() utilizado con ROLLUP() en Power BI

Una tabla llamada ventas_rollup. Imagen del autor.

Para ello, utilizo la siguiente fórmula:

	SalesWithRollup =
	SUMMARIZE(
	    sales_rollup,
	    ROLLUP(sales_rollup[Region], sales_rollup[Product]),
	    "Total Sales", SUM(sales_rollup[Sales]),
	    "Total Quantity", SUM(sales_rollup[Quantity])
	)

Utilización de SUMMARIZE() con ROLLUP() en Power BI utilizando DAX

Utilizando la función ROLLUP(). Imagen del autor.

Puedes ver - aquí la función SUMMARIZE() agrupa los datos de ventas por Región y Producto para calcular Ventas totales y Cantidad Total. ROLLUP() añade filas de subtotal y total general para ofrecer un resumen jerárquico del rendimiento de las ventas en distintos niveles de detalle.

Combinar SUMMARIZE() con ADDCOLUMNS()

También puedes ampliar SUMMARIZE() con ADDCOLUMNS() para incluir columnas calculadas a medida dentro de los datos agrupados. Esto puede ser útil si quieres añadir medidas o cálculos complejos a tu tabla resumen.

Por ejemplo, utilizo el mismo conjunto de datos y aplico la siguiente fórmula para añadir esta vez una nueva columna:

	SalesWithAddColumns =
	ADDCOLUMNS(
	    SUMMARIZE(
	        sales_rollup,
	        sales_rollup[Region],
	        sales_rollup[Product],
	        "Total Sales", SUM(sales_rollup[Sales]),
	        "Total Quantity", SUM(sales_rollup[Quantity])
	    ),
	    "Average Sales per Unit",
	        DIVIDE(SUM(sales_rollup[Sales]), SUM(sales_rollup[Quantity]), 0)
	)

DAX SUMMARIZE() utilizado con ADDCOLUMNS() en Power BI

Combinando SUMMARIZE() y ADDCOLUMNS(). Imagen del autor.

Aquí, la función SUMMARIZE() agrupa las ventas por Región y Producto para calcular Ventas totales y Cantidad Total. ADDCOLUMNS() calcula entonces Ventas medias por unidad dividiendo las ventas totales entre la cantidad total de cada grupo.

Problemas habituales de DAX y cómo resolverlos

Al utilizar SUMMARIZE(), puedes encontrarte con algunos problemas. Pero no te preocupes, todos hemos pasado por lo mismo: te guiaré a través de algunos retos habituales y cómo afrontarlos.

Evitar resultados ambiguos

A veces, SUMMARIZE() puede darte resultados que no tienen mucho sentido. Esto suele ocurrir cuando tu modelo de datos o tus relaciones no están claros. He aquí cómo evitarlo:

  1. Comprueba dos veces tu modelo de datos: Asegúrate de que todas tus mesas están conectadas correctamente.

  2. Utiliza nombres de columna claros: Evita duplicar nombres en diferentes tablas.

  3. Especifica los nombres de las tablas: Cuando te refieras a columnas, incluye el nombre de la tabla (como Orders[OrderDate]) para evitar confusiones.

Consideraciones sobre el rendimiento

Aunque SUMMARIZE() es una función útil, puede consumir muchos recursos y ralentizar las cosas cuando se procesan grandes conjuntos de datos. Esto significa que tus informes pueden tardar un poco más en actualizarse, especialmente si utilizas la función dentro de medidas complejas o con muchas columnas agrupadas.

Aquí tienes algunos consejos para agilizar tus consultas:

  • Considera las columnas calculadas: Para los resúmenes de uso frecuente, crea columnas calculadas en lugar de utilizar SUMMARIZE() cada vez.

  • Elimina las columnas innecesarias: Elimina las columnas irrelevantes para tu análisis, como las claves primarias o las columnas que pueden calcularse a partir de otras.

  • Utiliza filtros: Utiliza DAX SUMMARIZE() con Filter() antes de resumir para reducir la cantidad de datos procesados.

Alternativas DAX a SUMMARIZE()

Aunque SUMMARIZE() es una función útil, a veces otras herramientas pueden hacer mejor el trabajo. Veamos un par de alternativas y cuándo te conviene utilizarlas.

SUMMARIZECOLUMNS()

SUMMARIZECOLUMNS() es otra función DAX que facilita la creación de tablas resumen cuando se trabaja con grandes datos o situaciones complicadas. Es similar a SUMMARIZE(), pero con algunas diferencias.

  • Puedes añadir filtros directamente a SUMMARIZECOLUMNS(), lo que lo hace más rápido.

  • Con SUMMARIZECOLUMNS(), puedes incluir medidas directamente en tus resultados. No son necesarias funciones adicionales como ADDCOLUMNS().

  • SUMMARIZECOLUMNS() se ocupa automáticamente de las filas en blanco, para que no tengas que preocuparte por ellas.

SUMMARIZECOLUMNS(
    <groupBy_columnName> [, <groubBy_columnName>] …, [<filterTable>] … [, <name>, <expression>] …
)

Por ejemplo, tengo un conjunto de datos y quiero resumir los salarios de los empleados por Región y Departamento, filtrando al mismo tiempo los empleados con el nombre Raven. Utilizaré la función SUMMARIZECOLUMNS() para calcular el salario total de Raven en las distintas regiones y departamentos.

DAX SUMMARIZE() y SUMMARIZECOLUMNS() en Power BI

Una tabla llamada datos_empleado. Imagen del autor.

Para ello, utilizo la siguiente fórmula:  

	SalarySummary =
	SUMMARIZECOLUMNS(
	    employee_data[Name],
	    employee_data[Region],
	    employee_data[Department],
	    FILTER(employee_data, employee_data[Name] = "Raven"),
	    "Total Salary", SUM(employee_data[Salary])
	)

En la fórmula anterior: 

  • SalarySummary es el nombre dado a la tabla calculada que se está creando.

  • SUMMARIZECOLUMNS(...) crea una tabla resumen basada en las columnas y cálculos especificados.

  • employee_data[Name], employee_data[Region], employee_data[Department] son las columnas por las que se agruparán los datos.

  • FILTER(employee_data, employee_data[Name] = "Raven") restringe los resultados para que sólo incluyan las filas en las que el campo Nombre es Cuervo.

  • "Total Salary", SUM(employee_data[Salary]) crea una columna calculada en el resultado.

  • SUM(employee_data[Salary]) calcula la suma de todos los valores de Salario de cada grupo.

Utilizar SUMMARIZECOLUMNS como alternativa de SUMMARIZE en Power Bi.

Utiliza SUMMARIZECOLUMNS para resumir los resultados. Imagen del autor.

Puedes ver los resultados: la función SUMMARIZECOLUMNS() filtra el conjunto de datos y calcula los totales salariales de Raven en las distintas ubicaciones y departamentos. 

GROUPBY()

GROUPBY() es otra función que a veces puede sustituir a SUMMARIZE() cuando sólo necesitas agrupar datos y realizar cálculos sobre esos grupos. Puede ser más eficaz que SUMMARIZE() para operaciones sencillas de agrupación.

Mientras que SUMMARIZE() puede trabajar a través de tablas relacionadas, GROUPBY() se centra en agrupar y agregar dentro de una única tabla, lo que mejora el rendimiento en determinados escenarios.

Veamos un ejemplo. Tengo que crear un conjunto de datos de inventario para hacer un seguimiento de los artículos, las categorías, las unidades vendidas y los precios unitarios, y luego agrupar los datos por categorías para calcular los ingresos totales de cada una.

DAX SUMMARIZE() comparado con GROUPBY() en Power BI

Tabla de inventario. Imagen del autor.

Para ello, utilizo la siguiente fórmula:  

	SummaryGroupBY =
	GROUPBY(
	    Inventory,
	    Inventory[Category],
	    "Total Revenue",
	    SUMX(
	        CURRENTGROUP(),
	        Inventory[Units Sold] * Inventory[Unit Price]
	    )
	)

En la fórmula anterior:

  • GROUPBY() agrupa los datos por Categoría.

  • CURRENTGROUP() se refiere a cada grupo de categorías (por ejemplo, electrónica, muebles o electrodomésticos).

  • SUMX() calcula los ingresos totales de cada grupo multiplicando Unidades vendidas por Precio unitario.

Utilizar GROUPBY() para agrupar los datos en Power BI.

Utiliza GROUPBY para agrupar los datos. Imagen del autor. 

Como puedes ver, la función GROUPBY() calcula fácilmente los Ingresos totales multiplicando Unidades vendidas por Precio unitario de cada artículo de la categoría y resumiendo estos ingresos individuales.

Reflexiones finales sobre DAX SUMMARIZE()

Ahora ya sabes cómo la función SUMMARIZE() de DAX puede ayudarte a agrupar y analizar datos en Power BI, Excel y otras herramientas. Desde la agrupación básica hasta técnicas avanzadas como ROLLUP() y ADDCOLUMNS(), SUMMARIZE() ayuda a crear resúmenes perspicaces.

Como la práctica hace al maestro, prueba estas técnicas con tus propios datos para ver cómo pueden ayudarte a descubrir perspectivas útiles. Si quieres pulir aún más tus conocimientos de DAX, inscríbete en nuestra Introducción a DAX en Power BI para convertirte en un auténtico usuario avanzado. 

Conviértete en Analista de Datos de Power BI

Domina la herramienta de inteligencia empresarial más popular del mundo.

Empieza a aprender gratis

Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Soy una estratega de contenidos a la que le encanta simplificar temas complejos. He ayudado a empresas como Splunk, Hackernoon y Tiiny Host a crear contenidos atractivos e informativos para su público.

Preguntas frecuentes sobre DAX Summarize()

¿Es SUMMARIZE() sensible a mayúsculas y minúsculas?

DAX no suele distinguir entre mayúsculas y minúsculas, por lo que los nombres de columna utilizados en SUMMARIZE() no tienen por qué coincidir con las mayúsculas y minúsculas de los datos originales.

¿Cuáles son los errores más comunes al utilizar SUMMARIZE()?

Entre los errores más comunes están los de sintaxis, los nombres de columnas inexistentes y los problemas de rendimiento con grandes conjuntos de datos. Para evitar estos problemas, comprueba siempre los argumentos de la función y tu modelo de datos.

¿En qué se diferencian SUMMARIZE() y SUMMARIZECOLUMNS() en cuanto al contexto?

SUMMARIZE() conserva los contextos de fila y filtro para las agregaciones, mientras que SUMMARIZECOLUMNS() sólo tiene un contexto de filtro.

Temas

Aprende PowerBI con DataCamp

Certificación disponible

curso

Introducción a DAX en Power BI

3 hr
81.9K
Mejora tus conocimientos de Power BI, aprendiendo los fundamentos de las Expresiones de Análisis de Datos (DAX), como las columnas calculadas, las tablas y las medidas.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

tutorial

Cómo utilizar las funciones SUMX de Power BI

Explora la función SUMX en Power BI, su sintaxis, cómo funciona y las mejores prácticas a tener en cuenta.
Joleen Bothma's photo

Joleen Bothma

8 min

tutorial

Tutorial de cálculo de Power BI

Aprenda a utilizar la función CALCULAR de Power BI con ejemplos de uso.
Joleen Bothma's photo

Joleen Bothma

6 min

tutorial

Gráficos de columnas agrupadas en Excel: Cómo crearlos y personalizarlos

Este tutorial trata sobre los gráficos de columnas agrupadas, por qué Excel es bueno para crearlos y cómo crear y personalizar gráficos de columnas agrupadas en Excel.
Elena Kosourova's photo

Elena Kosourova

24 min

tutorial

Creación y personalización de tablas dinámicas en Power BI

Aprende a crear tablas dinámicas personalizables en Power BI con formato condicional avanzado y algunos consejos de optimización.
Joleen Bothma's photo

Joleen Bothma

9 min

See MoreSee More