Filtro FILTER (DAX)

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 dé una tabla como resultado.

filter

Expresión booleana que se evaluará para cada fila de la tabla. Por ejemplo, [Amount] > 0 o [Region] = "France"

Valor devuelto

Tabla que contiene solo las filas filtradas.

Comentarios

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

Ejemplo

El ejemplo siguiente crea un informe de ventas en Internet fuera de los Estados Unidos usando una medida que filtra las ventas en el exterior y las clasifica por año y categoría de producto. Para crear esta medida, filtre la tabla, Internet Sales USD, usando Sales Territory, y, a continuación, emplee 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 en la tabla Internet Sales con SalesTerritoryCountry en la tabla SalesTerritory.

La siguiente tabla demuestra el concepto de la medida, NON USA Internet Sales, la fórmula que se proporciona a continuación en la sección de código. En la tabla se comparan todas las ventas en Internet con las ventas fuera de EE. UU. para mostrar que la expresión del filtro funciona, excluyendo del cálculo las ventas en Estados Unidos.

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

Tabla 1. Comparar las ventas totales para EE. UU. con todas las otras regiones

Etiquetas de fila

Ventas por Internet

Ventas por Internet fuera de EE.UU.

Australia

$4,999,021.84

$4,999,021.84

Canada

$1,343,109.10

$1,343,109.10

France

$2,490,944.57

$2,490,944.57

Germany

$2,775,195.60

$2,775,195.60

United Kingdom

$5,057,076.55

$5,057,076.55

United States

$9,389,479.79

 

Grand Total

$26,054,827.45

$16,665,347.67

La tabla de informe final muestra los resultados al crear una tabla dinámica usando la medida NON USA Internet Sales. 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. Comparar las ventas fuera de EE. UU. por categorías de producto

Ventas por Internet fuera de EE.UU.

Etiquetas de columna

 

 

 

Row Labels

Accessories

Bikes

Clothing

Grand Total

2001

 

$1,526,481.95

 

$1,526,481.95

2002

 

$3,554,744.04

 

$3,554,744.04

2003

$156,480.18

$5,640,106.05

$70,142.77

$5,866,729.00

2004

$228,159.45

$5,386,558.19

$102,675.04

$5,717,392.68

Grand Total

$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])