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
Muy bueno, muchas gracias!
Excelente acotacion