Leer en inglés

Compartir a través de


FILTRO

Se aplica a:columna Calculadatabla calculadaMedidacálculo visual

Devuelve una tabla que representa un subconjunto de otra tabla o expresión.

Sintaxis

FILTER(<table>,<filter>)  

Parámetros

Término Definición
table Tabla que se va a filtrar. La tabla también puede ser una expresión que da como resultado una tabla.
filter Expresión booleana que se va a evaluar para cada fila de la tabla. Por ejemplo, [Amount] > 0 o [Region] = "France"

Valor devuelto

Tabla que contiene solo las filas filtradas.

Observaciones

  • Puede usar FILTER para reducir el número de filas de la tabla con la que está trabajando y usar solo datos específicos en los cálculos. FILTER no se usa de forma independiente, sino como una función incrustada en otras funciones que requieren una tabla como argumento.

  • Para conocer los procedimientos recomendados al usar FILTER, consulte Evitar el uso de FILTER como argumento de filtro.

Uso de COUNTROWS en lugar de COUNT en DAX

  • Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o reglas de seguridad de nivel de fila (RLS).

Ejemplo

En el ejemplo siguiente se crea un informe de ventas por Internet fuera de Estados Unidos mediante una medida que filtra las ventas en los Estados Unidos y, a continuación, segmenta por año natural y categorías de productos. Para crear esta medida, filtre la tabla, Internet Sales USD, mediante Sales Territory y, a continuación, use la tabla filtrada en una función SUMX.

En este ejemplo, la expresión :

FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Devuelve una tabla que es un subconjunto de Internet Sales menos todas las filas que pertenecen al territorio de ventas de Estados Unidos. La función RELATED es lo que vincula la clave Territory de la tabla Internet Sales a SalesTerritoryCountry en la tabla SalesTerritory.

En la tabla siguiente se muestra la prueba de concepto de la medida, ventas por Internet de NON USA, la fórmula para la que se proporciona en la sección de código siguiente. En la tabla se comparan todas las ventas por Internet con ventas por Internet que no son de EE. UU., para mostrar que la expresión de filtro funciona, excluyendo las ventas de Estados Unidos del cálculo.

Para volver a crear esta tabla, agregue el campo SalesTerritoryCountry al área Etiquetas de fila de un informe o tabla dinámica.

Tabla 1. Comparación de las ventas totales de EE. UU. frente a todas las demás regiones

Etiquetas de fila Ventas por Internet Ventas por Internet que no son de EE. UU.
Australia $4,999,021,84 $4,999,021,84
Canadá $1,343,109.10 $1,343,109.10
Francia $2,490,944.57 $2,490,944.57
Alemania $2,775,195.60 $2,775,195.60
Reino Unido $5.057.076.55 $5.057.076.55
Estados Unidos $9,389,479.79
Total general $26.054.827.45 $16,665,347.67

En la tabla de informes final se muestran los resultados al crear una tabla dinámica mediante la medida Ventas por Internet de NON USA. Agregue el campo CalendarYear al área Etiquetas de fila de la tabla dinámica y agregue el campo ProductCategoryName al área etiquetas de columna .

Tabla 2. Comparación de las ventas no estadounidenses por categorías de productos

Etiquetas de fila Accesorios Bicicletas Ropa Total general
2005 $1,526,481,95 $1,526,481,95
2006 $3,554,744.04 $3,554,744.04
2007 $156,480.18 $5,640,106.05 $70,142,77 $5,866,729.00
2008 $228,159,45 $5,386,558.19 $102,675.04 $5,717,392,68
Total general $384,639.63 $16,107,890.23 $172,817.81 $16,665,347.67
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")  
     ,'InternetSales_USD'[SalesAmount_USD])  

funciones de filtro de
de función ALL
de función ALLEXCEPT