Función ADDCOLUMNS

Esta función es extremadamente útil en numerosos escenarios y sirve para crear una tabla a partir de otra tras añadirle una o más columnas calculadas. ADDCOLUMNS espera una tabla como primer argumento y parejas de nombre de columna / expresión DAX como argumentos adicionales (argumentos que definirán el nombre y contenido de las columnas que se añadan).

Por ejemplo, supongamos que queremos crear una tabla calculada de países con sus ventas totales. Podríamos hacerlo de la siguiente forma:

Country sales = 
ADDCOLUMNS(
    VALUES(Geography[Country]),
    "Sales", [Sales]
)

Pasamos como primer argumento una tabla con los valores distintos de la columna Geography[Country] y a esta tabla le añadimos otra columna de nombre “Sales” cuyo contenido viene definido por el resultado de la medida [Sales].

Debemos tener en cuenta que, usando esta función, trabajaremos por defecto en contexto de fila, iterando la tabla inicial (VALUES(Geography[Country]) en nuestro ejemplo) y obteniendo el valor correspondiente para cada fila. Esto nos obliga a forzar la transición de contexto si queremos que se filtre el modelo de datos. El resultado de la anterior expresión es el siguiente:

Función ADDCOLUMNS

En nuestra expresión DAX estamos involucrando la medida [Sales], con lo que sabemos que se está ejecutando la transición de contexto. Pero obsérvese cuál sería el resultado si sumásemos la columna Sales[Amount] directamente con la función SUM:

Función ADDCOLUMNS