← Volver al blog
DAXPower BICALCULATE

FILTER en DAX: el secreto para crear cálculos precisos y personalizados en Power BI

FILTER es el “filtro VIP” de DAX: deja pasar solo lo que importa. Mira cómo usarlo con CALCULATE, cuándo conviene y dónde puede ralentizar tu medida.

MA
Allen87Data Engineer
· 3 min de lectura
Embudo luminoso con la etiqueta FILTER que separa datos entre paneles de DAX y gráficos de barras, en estilo 3D colorido

¿Alguna vez has intentado hacer un cálculo en Power BI y te has preguntado por qué los resultados parecen más equivocados que un pronóstico del tiempo? Si es así, necesitas conocer mejor FILTER en DAX.

Esta función es como ese amigo que te ayuda a encontrar exactamente lo que necesitas en medio del caos de tus datos. Funciona como un “filtro VIP”, dejando pasar solo los valores que realmente importan. Pero ten cuidado: si se usa mal, ¡puede convertir tu medida en una verdadera pesadilla!

¿Cómo funciona FILTER?

En DAX, FILTER se usa dentro de funciones como CALCULATE para aplicar condiciones específicas a las tablas. Actúa como el guardia de una fiesta exclusiva: solo entra quien cumple los criterios establecidos.

Ejemplo básico:

FILTER(Tabla, Tabla[Columna] = "Valor Deseado")

Esto crea una tabla virtual que contiene solo los registros donde la columna tiene el valor "Valor Deseado".

Ahora, combinándolo con CALCULATE:

CALCULATE(
    SUM(Tabla[Importe]),
    FILTER(
        Tabla,
        Tabla[Categoría] = "Electrónica"
    )
)

Aquí estamos sumando solo los valores de la categoría "Electrónica". ¡Simple y eficiente!

Buenas prácticas para usar FILTER sin dolores de cabeza

  • 💡 1. Combina FILTER con CALCULATE: FILTER por sí solo no devuelve un valor numérico ni agregado. Solo crea una tabla virtual. Para hacer cálculos, úsalo dentro de un CALCULATE.
  • 💡 2. Evita usar FILTER en tablas grandes sin necesidad: FILTER recorre toda la tabla cada vez que se usa, así que aplicarlo a tablas gigantes puede dejar tu Power BI más lento que internet de acceso telefónico.
  • 💡 3. Prefiere columnas indexadas y filtrables: Cuanto más optimizada esté tu columna (con menos valores distintos), más rápido trabaja FILTER.
  • 💡 4. Prueba siempre los resultados: Antes de confiar ciegamente en FILTER, ¡prueba tu fórmula! Un simple error puede hacerte reportar números sin ningún sentido.

Ventajas de usar FILTER

1. Cuando necesitas filtrar tablas enteras, y no solo columnas

CALCULATE aplica filtros directamente sobre las columnas, mientras que FILTER devuelve una tabla filtrada antes del cálculo. Esto puede ser útil cuando una medida necesita un conjunto específico de datos.

CALCULATE(
    COUNT(Sales[CustomerID]),
    FILTER(Sales, Sales[Quantity] > 10 && Sales[Region] = "North")
)

En este ejemplo, FILTER primero filtra la tabla "Sales" y luego pasa el resultado a CALCULATE, garantizando que el conteo se haga solo sobre el subconjunto.

2. Mejor rendimiento en escenarios específicos

Como FILTER devuelve un conjunto de datos, en algunos escenarios esto puede ofrecer ganancias de rendimiento en comparación con los filtros directos de CALCULATE.

3. Filtros que dependen de cálculos dinámicos

Si la condición del filtro se basa en otra medida o en un cálculo dinámico, FILTER es necesario, porque CALCULATE no acepta directamente expresiones de ese tipo.

CALCULATE(
    SUM(Sales[Revenue]),
    FILTER(Sales, Sales[Quantity] > AVERAGE(Sales[Quantity]))
)

CALCULATE por sí solo no permitiría usar AVERAGE() como criterio de filtro, ya que espera únicamente filtros directos sobre las columnas de la tabla. Con FILTER es posible.

Cuidados al usar FILTER

  • ⚠️ 1. ¡Cuidado con las tablas muy grandes! Si necesitas filtrar una tabla de millones de registros, quizá sea mejor usar otros enfoques, como relaciones o medidas precalculadas.
  • ⚠️ 2. ¡No exageres con la complejidad! Muchos FILTER anidados pueden convertirse en un verdadero laberinto de cálculos y dificultar el mantenimiento del informe.
  • ⚠️ 3. ¡Presta atención al contexto! FILTER respeta el contexto de la medida, así que cuida de no terminar filtrando más o menos de lo que realmente necesitas.

Conclusión

FILTER es uno de los grandes secretos para crear cálculos precisos en Power BI, pero usarlo con sabiduría es esencial. Siguiendo estas buenas prácticas y evitando los errores más comunes, puedes transformar tus informes de confusos a increíbles.

Ahora que ya sabes lo básico de FILTER, ¿probamos en Power BI?

MA
Allen87 Data Engineer & Data Analyst

Escribo sobre Power BI, ingeniería de datos e IA aplicada. Mira el perfil completo, los 66 dashboards de Power BI publicados y GitHub.