Transcripción del video

En el video de CALCULATE hablaba de que no se podían usar medidas como Filtro en CALCULATE. Veamos un ejemplo. Supongamos que quiero contar el número de clientes que han comprado más de $500,000 USD.

Ctes 500k = CALCULATE(COUNTROWS(Clientes), [Venta] > 500000)

Y presiono ENTER, me va a dar un error.

Este error dice: “A function ‘CALCULATE has been used in a True/False expression that is used as a table filter expression. This is not allowed.”. Ese es un mensaje que está muy difícil de comprender. Pero en esta ocasión vamos a estar viendo a qué se debe este error, cómo lo podemos solucionar y un ejemplo donde puedes aplicar lo que aprendas aquí. Por lo pronto te voy a ir adelantando la respuesta: es con la función FILTER.

Veamos por qué está sucediendo este error, el cual es muy común que pase. Si bien recuerdas en el video donde vimos CALCULATE, hablábamos de que CALCULATE tiene dos partes. Primero veíamos que en la primera parte debíamos de poner una Medida o una expresión. Y eso ya ha quedado claro.

Este error que estamos viendo ahorita sucede por lo que estamos agregando en la segunda parte de la función. Aquí estamos diciéndole que queremos filtrar para cuando las ventas sean mayor de $500,000, pero no le hemos puesto las ventas de qué. Y esto no lo puede interpretar CALCULATE. Así que tenemos que agregarle una manera de interpretar este filtro que estamos buscando.

Antes de continuar, si quieres aprender Power BI paso por paso, en lugar de estar buscando por todo el internet una respuesta a tus problemas, simplemente ve a SerDataPro.com o haz clic en el link de la descripción. Ahí vas a aprender a utilizar Power BI para desarrollar un proyecto de Business Intelligence.

Bien, aquí es donde entra la función FILTER. La función FILTER nos va a permitir comunicarle a CALCULATE cómo queremos que esta medida se interprete. Así que veamos cómo trabaja FILTER y luego regresemos a este problema. 

FILTER es una función que nos regresa una tabla. Esta tabla de hecho la podemos visualizar para comprender lo que hace. Para eso vamos a utilizar el “New Measure” del menú Modeling.

Escribo:

Clientes >500k = FILTER(Clientes, [Venta] > 500000)

La función FILTER nos solicita primero una tabla. Luego cómo queremos filtrar esa tabla. Veamos ahora la tabla. Y fíjate cómo solamente tenemos 6 clientes, porque esos clientes son a los que se les ha vendido más de $50,000. Puedes comprobarlo al descargar este archivo en el link que se encuentra en la descripción.

Ahora que ya viste el resultado de esta función, podemos eliminar esta tabla porque FILTER no está diseñada para usarse por sí sola, sino para utilizarla dentro de otras funciones como un argumento. Así que esto que acabamos de hacer solamente lo haces cuando quieres ver el resultado de FILTER por ejemplo. Una vez que hayas visto los datos, elimina la tabla para que no estés almacenando datos redundantes.

Ahora regresemos a nuestro error con CALCULATE. Entonces aquí puedo agregar la función FILTER de esta manera

Ctes 500k = CALCULATE(COUNTROWS(Clientes), FILTER(Clientes[Venta] > 500000))

Si presiono Enter, y agrego esta medida a una visualización de tabla, verás que tenemos solamente 6 clientes porque recuerda que, como vimos en el video de CALCULATE, CALCULATE está modificando los filtros aplicados, por lo que solamente hay 6 clientes en este contexto de Filtro, que son los 6 clientes que vimos en la tabla que creamos ahorita.

Y solamente como resumen, cuando veas este error, simplemente agregas la función FILTER y eso debería resolver el problema.

Bien, ahora puedes seguir aprendiendo Power BI aquí mismo, y también me encantaría escuchar de ti. Suscríbete, déjame un comentario o comparte este video. ¡Nos vemos la próxima ocasión! Hasta luego.