FILTER
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 |
---|---|
tabla | Tabla que se va a filtrar. La tabla también puede ser una expresión que da lugar a 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.
Notas
Puede usar FILTER para reducir el número de filas de la tabla con la que está trabajando y emplear solo datos concretos en los cálculos. FILTER no se usa independientemente, sino como una función insertada en otras funciones que requieren una tabla como argumento.
Para conocer los procedimientos recomendados al usar FILTER, consulte Impedimento del 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 utiliza en columnas calculadas o en reglas de seguridad de nivel de fila (RLS).
Ejemplo
En el ejemplo siguiente se crea un informe de ventas por Internet fuera de los Estados Unidos mediante una medida que filtra las ventas en los Estados Unidos y luego el desglose por año natural y categorías de producto. Para crear esta medida, se filtra la tabla, Internet Sales USD, mediante Sales Territory y luego se usa 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 ventas por Internet 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 fuera de los Estados Unidos, la fórmula para la cual se proporciona en la sección de código siguiente. En la tabla se comparan todas las ventas por Internet con las ventas por Internet fuera de los Estados Unidos, para mostrar que la expresión de filtro funciona, al excluir las ventas de los Estados Unidos del cálculo.
Para volver a crear esta tabla, agregue el campo SalesTerritoryCountry al área Etiquetas de fila de un informe o una tabla dinámica.
Tabla 1. Comparación de las ventas totales para EE. UU. y todas las demás regiones
Etiquetas de fila | Internet Sales | Ventas por Internet fuera 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 informe final se muestran los resultados al crear una tabla dinámica mediante la medida, Ventas por Internet fuera de EE. UU. Agregue el campo CalendarYear al área Etiquetas de fila de la tabla dinámica y el campo ProductCategoryName al área Etiquetas de columna.
Tabla 2. Comparación de ventas fuera de EE. UU. por categorías de producto
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])