FILTER
別のテーブルまたは式のサブセットを表すテーブルを返します。
構文
FILTER(<table>,<filter>)
パラメーター
用語 | 定義 |
---|---|
table |
フィルター処理するテーブル。 テーブルには、テーブルを作成する式を指定することもできます。 |
filter |
テーブルの各行に対して評価されるブール式。 たとえば、[Amount] > 0 や [Region] = "France" |
戻り値
フィルター処理された行のみを含むテーブル。
備考
FILTER を使用すると、使用しているテーブル内の行数を減らし、計算で特定のデータのみを使用できます。 FILTER は独立して使用されるのではなく、引数としてテーブルを必要とする他の関数に埋め込まれる関数として使用されます。
FILTERを使用する場合のベスト プラクティスについては、「フィルター引数として FILTER を使用しないようにする」を参照してください。
COUNTROWS で COUNT の代わりに DAX を使用する
- この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例
次の例では、米国外のインターネット売上のレポートを作成します。このレポートでは、米国内の売上を除外するメジャーを使用し、カレンダーの年と製品のカテゴリ別にスライスします。 このメジャーを作成するには、Sales Territory を使用してテーブル Internet Sales USD をフィルター処理し、フィルター処理されたテーブルを SUMX 関数で使用します。
この例では、式は次のようになります。
FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
Internet Sales のサブセットから米国の販売地域に属するすべての行を差し引いたテーブルを返します。 RELATED 関数は、Internet Sales テーブルの Territory キーを SalesTerritory テーブルの SalesTerritoryCountry にリンクする関数です。
次の表は、以下のコード セクションで提供される数式である NON USA Internet Sales のメジャーの概念実証を示しています。 次の表では、米国以外のインターネット販売とすべてのインターネット売上を比較し、米国の売上を計算から除外することで、フィルター式が機能することを示します。
このテーブルを再作成するには、フィールド SalesTerritoryCountry をレポートまたはピボットテーブルの 行ラベル 領域に追加します。
表 1. 米国の売上合計と他のすべてのリージョンの売上の比較
行ラベル | Internet Sales | 米国以外のインターネット販売 |
---|---|---|
オーストラリア | $4,999,021.84 | $4,999,021.84 |
カナダ | $1,343,109.10 | $1,343,109.10 |
フランス | $2,490,944.57 | $2,490,944.57 |
ドイツ | $2,775,195.60 | $2,775,195.60 |
英国 | $5,057,076.55 | $5,057,076.55 |
米国 | $9,389,479.79 | |
総計 | $26,054,827.45 | $16,665,347.67 |
最後のレポート テーブルには、米国以外のインターネット販売のメジャーを使用してピボットテーブルを作成したときの結果が表示されます。 ピボットテーブルの 行ラベル 領域にフィールド CalendarYear を追加し、フィールド ProductCategoryName を 列ラベル 領域に追加します。
表 2. 米国以外の売上を製品カテゴリ別に比較する
行ラベル | 小物 | バイク | 衣類 | 総計 |
---|---|---|---|---|
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])
関連コンテンツ
関数ALL 関数ALLEXCEPT 関数 をフィルター処理する