FILTER

La función FILTER devuelve una tabla que representa un subconjunto de otra tabla.

Sintaxis

FILTER(
    table,
    filter
)

Parámetros
  • table: Tabla a ser filtrada o expresión que devuelva una tabla.
  • filter: Expresión booleana que será evaluada para cada fila de la tabla.
Valor devuelto

La función FILTER devuelve una tabla compuesta por aquellas filas de la tabla original que han superado el filtro.

Información adicional

Esta función suele utilizarse como argumento en otras funciones (principalmente en la función CALCULATE) cuando se requiere filtrar una tabla.

Ejemplos

Supongamos que hemos definido la medida

Ventas = SUM(FactSales[SalesAmount])

...que suma los importes de ventas. Imaginemos ahora que deseamos sumar las ventas de aquellos productos cuyo precio sea superior al valor medio de los precios de venta. Para ello, nuestro primer intento sería definir la siguiente medida:

Ventas por encima del promedio = CALCULATE(
    [Ventas],
    DimProduct[UnitPrice]>AVERAGE(DimProduct[UnitPrice])
)

...medida que, en todo caso, provoca un error pues CALCULATE no admite expresiones complejas como ésta como argumento:

Función FILTER. Ejemplo de uso

La solución pasa por añadir como argumento no la expresión compleja en cuestión, sino la tabla de ventas una vez la hemos filtrado según ese mismo criterio:

Ventas por encima del promedio = CALCULATE(
    [Ventas],
    FILTER(
        DimProduct,
        DimProduct[UnitPrice]>AVERAGE(DimProduct[UnitPrice])
    )
)

...lo que nos devuelve el resultado que buscábamos.

Categoría
Filtro
Enviado por admin el Mar, 04/12/2018 - 12:07