FILTER 函數
傳回代表另一個資料表或運算式之子集的資料表。
語法
FILTER(<table>,<filter>)
參數
詞彙 |
定義 |
---|---|
table |
要篩選的資料表。 資料表也可以是會產生資料表的運算式。 |
filter |
要針對資料表之每個資料列評估的布林運算式。 例如,[Amount] > 0 或 [Region] = "France" |
傳回值
只包含篩選資料列的資料表。
備註
您可以使用 FILTER 來減少資料表中您要處理的資料列數目,並只在計算中使用特定的資料。 FILTER 無法單獨使用,但是可以當做內嵌函數用於需要資料表當做引數的其他函數中。
範例
下列範例會建立美國以外地區的網際網路銷售報表,方法是,使用篩選出美國地區銷售量的量值,然後以日曆年度和產品類別目錄切割。 若要建立此量值,您要使用銷售領域來篩選美元的網際網路銷售資料表,然後在 SUMX 函數中使用篩選過的資料表。
在此範例中,運算式 FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States") 會傳回一個資料表,這個資料表是網際網路銷售量減去屬於美國地區銷售領域之所有資料列的子集。 RELATED 函數是連結 Internet Sales 資料表中 Territory 索引鍵與 SalesTerritory 資料表中 SalesTerritoryCountry 索引鍵的函數。
下表會示範非美國網際網路銷售量值之概念的證明,公式如同底下的程式碼區段所提供。 資料表會比較所有網際網路銷售與非美國地區網際網路銷售,以便透過從計算中排除美國地區銷售的方式,顯示篩選運算式的效果。
若要重新建立此資料表,請將 SalesTerritoryCountry 欄位加入至樞紐分析表的 [資料列標籤] 區域中。
資料表 1:美國地區與其他所有地區總銷售量的比較
資料列標籤 |
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 |
|
總計 |
$26,054,827.45 |
$16,665,347.67 |
當您使用 NON USA Internet Sales 量值建立樞紐分析表時,最終報表資料表會顯示結果。 將 CalendarYear 欄位加入至樞紐分析表的 [資料列標籤] 區域中,並將 ProductCategoryName 欄位加入至 [資料行標籤] 區域中。
資料表 2:依產品類別目錄比較非美國地區銷售量
Non USA Internet Sales |
資料行標籤 |
|
|
|
---|---|---|---|---|
資料列標籤 |
Accessories |
Bikes |
Clothing |
總計 |
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 |
總計 |
$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])