La función SUMMARIZE va a recibir como primer argumento el nombre de una tabla, a continuación los nombres de las columnas a partir de cuyos valores queremos realizar la agregación -columnas que deberán estar en la tabla indicada o en tablas relacionadas- y, por último, parejas de nombre de columna / expresión DAX.
Con un ejemplo quedará más claro. Supongamos que queremos crear una tabla que agrupe las ventas realizadas por país. Según lo explicado su código sería el siguiente:
SUMMARIZE(
Geography,
Geography[Country],
"Sales", [Sales]
)
Los dos primeros argumentos son la tabla de la que partimos (Geography) y la columna Geography[Country] según cuyos valores queremos realizar la agregación y, a continuación, el nombre de la columna a crear (“Sales”) y la expresión que va a definir el contenido de esta columna (en este caso la medida [Sales]). Téngase en cuenta que esta expresión se va a evaluar en el contexto de filtro definido por los valores las columnas según las cuales estamos realizando la agregación o, con otras palabras: en nuestro ejemplo, para cada uno de los países incluidos en la columna Geography[Country] se va a filtrar el modelo de datos antes de calcular el valor de la columna que estamos creando. Esto supone que la expresión DAX anterior también habría podido ser la siguiente:
SUMMARIZE(
Geography,
Geography[Country],
"Sales", SUM(Sales[Amount])
)
puesto que siempre se va a evaluar la expresión en contexto de filtro.
La tabla obtenida es la siguiente:
Obsérvese que, tal y como se ha comentado, las columnas de agregación (Geography[Country] en nuestro ejemplo) tienen que estar en la tabla indicada o en tablas relacionadas, lo que significa que también podríamos haber partido de la tabla de ventas:
SUMMARIZE(
Sales,
Geography[Country],
"Sales", SUM(Sales[Amount])
)
obteniendo el mismo resultado:
Por supuesto, podríamos haber añadido más de una columna de agregación, y más de una columna calculada:
SUMMARIZE(
Sales,
Geography[Country],
Customers[Gender],
"Sales", SUM(Sales[Amount]),
"Units", SUM(Sales[Units])
)
En este caso el resultado sería el siguiente:
Aunque hay que destacar que si estamos mezclando columnas de agregación de más de una tabla (como en nuestro ejemplo, en el que mezclamos el campo Country de Geography y el campo Gender de Customers), la tabla que se indique como tabla base deberá ser una de ellas y estar relacionada con las demás, o ser una tabla directamente relacionada con todas las tablas involucradas en la expresión.