Función FILTER
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.contodas las demás regiones
Etiquetas de fila |
Internet Sales |
Non USA Internet Sales |
---|---|---|
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
Non USA Internet Sales |
Etiquetas de columna |
|
|
|
---|---|---|---|---|
Etiquetas de fila |
Accessories |
Bikes |
Clothing |
Grand Total |
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 |
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])