Inicio » Formación » DAX: Cómo utilizar las funciones ALL y ALLSELECTED.

DAX: Cómo utilizar las funciones ALL y ALLSELECTED.

DAX (Data Analysis Expressions) es un lenguaje utilizado en Power BI, Excel Power Pivot y otras herramientas de análisis de datos para manipular y calcular datos. Dos funciones fundamentales en DAX son ALL y ALLSELECTED, las cuales son utilizadas para modificar el contexto de evaluación de una expresión. En este artículo, exploraremos las diferencias entre ALL y ALLSELECTED, así como su aplicación con ejemplos prácticos.  

>> Consulta nuestro curso de DAX 

Cómo se utiliza la función ALL en DAX

La función ALL se utiliza para eliminar los filtros aplicados a una columna o tabla, devolviendo todos los valores independientemente de los filtros que estén en vigor. Por ejemplo, si tenemos una tabla de ventas con una columna de productos y aplicamos un filtro para mostrar solo las ventas de un producto específico, al utilizar «ALL» en la columna de productos, se ignorará ese filtro y se mostrarán todas las ventas de todos los productos. 

Ejemplo con un solo filtro: 

Supongamos que tenemos la siguiente tabla de ventas: 

| Producto | Ventas | Año   | 

|———-|——–|——-| 

| A        | 100    | 2022  | 

| B        | 150    | 2022  | 

| C        | 200    | 2022  | 

| D        | 120    | 2022  | 

| E        | 180    | 2022  | 

| A        | 50     | 2023  | 

| B        | 100    | 2023  | 

| C        | 150    | 2023  | 

| D        | 80     | 2023  | 

| E        | 120    | 2023  | 

 

Si queremos calcular la suma de las ventas para todos los productos, independientemente del año e ignorando cualquier filtro aplicado, podemos usar la siguiente expresión: 

 » Total Ventas = SUMX(ALL(‘Tabla de Ventas’), ‘Tabla de Ventas'[Ventas]) «

Ahora, consideremos qué pasaría si se aplicara un segundo filtro, por ejemplo, para mostrar solo las ventas del año 2022. La función ALL ignorará este segundo filtro y seguiría considerando todas las filas de la tabla. 

 

Cómo se utiliza la función ALLSELECTED en DAX

Por otro lado, la función «ALLSELECTED» se utiliza para eliminar todos los filtros excepto aquellos que se han aplicado de manera explícita a través de selecciones de usuario. Esto significa que si se han aplicado filtros a través de slicers u otras interacciones del usuario, ALLSELECTED los tendrá en cuenta, mientras que ignora cualquier otro filtro que pueda existir. 

Siguiendo el mismo ejemplo de la tabla de ventas, si aplicamos un filtro a través de un slicer para mostrar solo las ventas del año 2023, pero queremos calcular la suma de ventas para todos los productos considerando ese filtro, podemos utilizar «ALLSELECTED» de la siguiente manera: 

» Total Ventas (Filtrado) = SUMX(ALLSELECTED(‘Tabla de Ventas’), ‘Tabla de Ventas'[Ventas]) «

En este caso, la función «ALLSELECTED» mantiene el filtro aplicado al año 2023, pero ignora cualquier otro filtro que podría haber sido aplicado de manera diferente. 

dax

Diferencias entre ALL VS ALLSELECTED  

La diferencia clave entre «ALL» y «ALLSELECTED» radica en cómo manejan los filtros aplicados al modelo de datos. Mientras que «ALL» ignora todos los filtros, incluidos los aplicados por el usuario, «ALLSELECTED» mantiene los filtros seleccionados por el usuario y solo los elimina si han sido aplicados automáticamente. 

 

En resumen, «ALL» y «ALLSELECTED» son funciones importantes en DAX que se utilizan para modificar el contexto de evaluación de una expresión. Es crucial comprender la diferencia entre ambas y aplicarlas adecuadamente según los requisitos específicos de análisis de datos. Con el conocimiento y los ejemplos proporcionados en este artículo, esperamos haber aclarado el uso y la aplicación de ALL y ALLSELECTED en DAX. Además, hemos considerado cómo se comportarían estas funciones ante la aplicación de un segundo filtro, lo que ofrece una visión más completa de su funcionamiento en entornos de análisis de datos. 

 

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Solicita Información



    Suscríbete a la newsletter