Eliminar un filtro en una medida con dax

A veces nos puede interesar tener un filtro, un segmentador, pero que no se aplique en alguna de las medidas de nuestro PowerBI

Pongo el ejemplo que tenemos pedidos aceptados, rechazados y el motivo de los distintos rechazos.

Es fácil calcular el porcentaje de rechazados sobre aceptados, creando medidas que calcule los aceptados, los rechazados y su porcentaje

Ejemplo, tenemos un libro Excel con una tabla de presupuestos

Presupuesto Fecha Importe Estado Motivo Representante
1 01/01/2019 10.000,00 ACEPTADO JESUS
2 01/01/2019 1.000,00 RECHAZADO M1 JESUS
3 01/01/2019 2.000,00 RECHAZADO M2 JESUS
2 01/02/2019 2.000,00 RECHAZADO M1 JOSEP
3 01/03/2019 3.000,00 ACEPTADO MARIA
4 01/04/2019 4.000,00 RECHAZADO M1 JESUS
5 01/05/2019 5.000,00 ACEPTADO JOSEP
6 01/06/2019 6.000,00 RECHAZADO M1 MARIA
7 01/07/2019 7.000,00 ACEPTADO JESUS
8 01/08/2019 8.000,00 RECHAZADO M1 JOSEP
9 01/09/2019 9.000,00 ACEPTADO MARIA
10 01/10/2019 10.000,00 RECHAZADO M1 JESUS
11 01/11/2019 11.000,00 ACEPTADO JOSEP
12 01/12/2019 12.000,00 RECHAZADO M1 MARIA
13 01/01/2020 13.000,00 ACEPTADO JESUS
14 01/02/2020 14.000,00 RECHAZADO m2 JOSEP
15 01/03/2020 15.000,00 ACEPTADO MARIA
16 01/04/2020 16.000,00 RECHAZADO m2 JESUS
17 01/05/2020 17.000,00 ACEPTADO JOSEP
18 01/06/2020 18.000,00 RECHAZADO M1 MARIA
19 01/07/2020 19.000,00 ACEPTADO JESUS
20 01/08/2020 20.000,00 RECHAZADO M1 JOSEP
21 01/09/2020 21.000,00 ACEPTADO MARIA
22 01/10/2020 22.000,00 RECHAZADO M1 JESUS
23 01/11/2020 23.000,00 ACEPTADO JOSEP
24 01/12/2020 24.000,00 RECHAZADO M1 MARIA

Y creamos un PowerBI vinculado al Excel con las siguientes medidas

Aceptados = CALCULATE(sum(Hoja1[Importe]);Hoja1[Estado]=”ACEPTADO”)

Rechazado = CALCULATE(sum(Hoja1[Importe]);Hoja1[Estado]=”RECHAZADO”)

% = DIVIDE([Rechazado];[Aceptados])

Lo que nos da un panel

Con el porcentaje de rechazados sobre aceptados, en el ejemplo un 30 %

Pero si filtramos por motivo, perdemos los aceptados, y ya no tenemos ningún porcentaje

Por tanto, nos interesa que, aunque filtremos por motivo, este NO se aplique en la medida de aceptados

Solución, usar la función REMOVEFILTERS de DAX, cambiando la medida a

Aceptados = CALCULATE(sum(Hoja1[Importe]);Hoja1[Estado]=”ACEPTADO”;REMOVEFILTERS(Hoja1[Motivo]))

Ahora si filtramos por un motivo tenemos el % de los rechazados por ese motivo sobre el total de aceptados.

En este caso un 10 %

Y en cambio todos los otros filtros se siguen aplicando

Un comentario sobre “Eliminar un filtro en una medida con dax”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.