次の方法で共有


FILTER

適用対象:計算列計算テーブルMeasureビジュアル計算

別のテーブル or 式のサブセットを表すテーブルを返します。

構文

FILTER(<table>,<filter>)

パラメーター

用語 定義
table フィルター処理するテーブル。 テーブルには、テーブルを作成する式を指定することもできます。
filter テーブルの各行に対して評価されるブール式。 たとえば、[Amount] > 0or[Region] = "France"

value を返す

フィルター処理された行のみを含むテーブル。

備考

  • FILTER を使用すると、使用しているテーブル内の行数を減らすことができます。and 計算で使用されるのは特定のデータだけです。 FILTER は not 独立して使用されますが、引数としてテーブルを必要とする他の関数に埋め込まれる関数として使用されます。

  • FILTERを使用する場合のベスト プラクティスについては、「FILTER を filter 引数として使用しないでくださいを参照してください。

COUNTROWS で COUNT の代わりに DAX を使用する

  • この関数は、行レベル セキュリティ (RLS) 規則 not 計算列で使用する場合に、DirectQuery モードで使用するためにサポート or。

次の例では、米国外での売上を measure する filters を使用して、andcalendaryearand カテゴリ別にスライス product、米国外でのインターネット売上のレポートを作成します。 この measureを作成するには、Sales Territory を使用してテーブル Internet Sales USD を filter し、andSUMX 関数でフィルター処理されたテーブルを使用します。

この例では、式は次のようになります。

FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Internet Sales のサブセットから米国の販売地域に属する all 行を差し引いたテーブルを返します。 RELATED 関数は、Internet Sales テーブルの Territory キーを SalesTerritory テーブルの SalesTerritoryCountry にリンクする関数です。

次の表は、以下のコード セクションで提供される数式である、measureNON USA Internet Sales の概念実証を示しています。 次の表は、all インターネット売上と米国以外のインターネット販売を比較し、米国の売上を計算から除外することで、filter 式が機能することを示しています。

このテーブルを再作成するには、ピボットテーブルのレポートの 行ラベル 領域にフィールド SalesTerritoryCountry or 追加します。

表 1. 米国の売上合計と他のリージョン all 比較

行ラベル 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

最後のレポート テーブルには、measure(米国以外のインターネット販売) を使用してピボットテーブルを作成したときの結果が表示されます。 ピボットテーブルの 行ラベル 領域にフィールド CalendarYear を追加 and、フィールド ProductCategoryName を 列ラベル 領域に追加します。

表 2. 米国以外の売上を product カテゴリ別に比較する

行ラベル 小物 バイク 衣類 総計
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])

Filter 関数ALL 関数ALLEXCEPT 関数