Transcripción del video
En un video pasado llamado ¿Cómo calcular el Top y Bottom de Clientes de cada Región? (también Mínimos y Máximos) utilicé la función ALLSELECTED() para lograr lo que estábamos viendo en esa ocasión.
Pero en esta ocasión vamos a ver más a fondo ALLSELECTED y lo vamos a comparar versus la función ALL. Esto que vamos a estar viendo en este momento es DAX un poco avanzado, por lo que no debes de desesperarte si sientes que no lo estás comprendiendo.
Y si sientes que aún no dominas algunas de las cosas que vemos aquí, puedes seguir viendo más videos de esta lista de reproducción de mi canal porque aquí hablo de todo esto y más. Y también suscríbete para saber que estos videos te están ayudando con tus retos laborales.
Entonces tengo una tabla con un desglose por Región, y la Venta total de cada Región. Pero por ejemplo, cómo podemos calcular el porcentaje que representa esta Región contra el total. Bueno, en estos casos utilizas CALCULATE para quitar los filtros que están aplicando estos renglones, lo cual es una combinación muy común. Si quieres entender mejor cómo funciona CALCULATE puedes ver mi video de CALCULATE.
Entonces agrego una nueva medida, la cual voy a llamar “Ventas ALL” para identificarla, y escribo:
Ventas ALL = CALCULATE([Venta], ALL(Ventas))
Esto lo que va a hacer es que no va a considerar el filtro que está aplicando estas regiones aquí. A eso se le conoce como el Filter Context. Entonces me va a sumar todas las Ventas. Y si agrego esa medida a la tabla, verás que voy a tener en cada celda el mismo valor, porque ese valor representa el total de las ventas.
Ahora con esto ya puedo hacer una división sencilla para obtener el porcentaje que representa esta Región del Total. Simplemente escribo
Porc Vta Región ALL = [Venta] / [Ventas ALL]
Presiono Enter. Cambio el Formato a porcentaje. Y agrego la Medida a la Tabla. Así ya sabemos el porcentaje que cada Región representa del total. Pero si selecciono una región en el Slicer de Región, fíjate que me muestra solamente esas Regiones seleccionadas. Y el porcentaje ya no da 100%, porque por la función ALL(), aún estamos dividiendo entre todas las ventas.
Aquí entra ALLSELECTED(). Porque ALLSELECTED va a permitir que los filtros externos se apliquen. Por ejemplo, escribo
Ventas ALLSELECTED = CALCULATE([Venta], ALLSELECTED(Ventas))
Esta medida lo que va a hacer es que me va a quitar los filtros de esta tabla con la información de venta, pero me va a respetar los filtros exteriores.
Fíjate cómo este valor ahora es diferente al previo, y también es diferente al que está solamente con Venta. Pero es igual al del total de esa columna. ¿Pero esto cómo nos sirve? Bueno, con esto ya podemos calcular porcentajes únicamente tomando en cuenta las categorías de nuestra tabla. Por ejemplo creando la siguiente medida
Porc Vta Region ALLSELECTED = [Venta] / [Ventas ALLSELECTED]
Y fíjate cómo, si agrego esta medida a la tabla, y le doy formato de porcentaje, el total ya va a ser igual al 100% en todos los casos. Ahora ya podremos calcular el porcentaje de cada elemento que tengamos en nuestra tabla. Y esto es solamente un ejemplo. Esto lo puedes usar de mil y una maneras. Lo puedes poner como gráfico, con formato condicional, puedes hacer análisis exploratorio. En fin, de mil maneras.
Ahora puedes seguir aprendiendo Power BI con más videos en esta lista de reproducción. También suscríbete, déjame un comentario o comparte este video, así sé que esto te esta sirviendo para superar tus retos laborales. ¡Nos vemos la próxima ocasión! Hasta luego.