次の方法で共有


CALCULATETABLE 関数

指定されたフィルターによって変更されたコンテキストでテーブル式を評価します。

構文

CALCULATETABLE(<expression>,<filter1>,<filter2>,…)

パラメーター

項目

定義

expression

評価の対象となるテーブル式

filter1,filter2,…

フィルターを定義するブール式またはテーブル式

最初のパラメーターとして使用される式は、テーブルを返す関数である必要があります。

引数としてブール式を使用する場合は、次の制限があります。

  • 式でメジャーを参照することはできません。

  • 式で入れ子になった CALCULATE 関数を使用することはできません。

  • 式で、集計関数のようなテーブルをスキャンする関数またはテーブルを返す関数を使用することはできません。

ただし、ブール式で、単一の値を検索する関数やスカラー値を計算する関数は使用できます。

戻り値

一連の値から成るテーブル。

説明

CALCULATETABLE 関数はデータがフィルター処理されるコンテキストを変更し、指定された新しいコンテキストで式を評価します。 フィルター引数で使用されている各列について、既存のフィルターが削除され、フィルター引数で使用されているフィルターが代わりに適用されます。

この関数は、RELATEDTABLE 関数のシノニムです。

使用例

次の例では、CALCULATETABLE 関数を使用して、2006 年のインターネット販売の売上合計を取得します。 この値は、2006 年度のすべての売上と比較したインターネット販売の売上の比率を計算するために後で使用します。

次の表に、次の数式の結果を示します。

行ラベル

Internet SalesAmount_USD

CalculateTable 2006 Internet Sales

Internet Sales to 2006 ratio

2005

$2,627,031.40

$5,681,440.58

0.46

2006

$5,681,440.58

$5,681,440.58

1.00

2007

$8,705,066.67

$5,681,440.58

1.53

2008

$9,041,288.80

$5,681,440.58

1.59

総計

$26,054,827.45

$5,681,440.58

4.59

=SUMX( CALCULATETABLE('InternetSales_USD', 'DateTime'[CalendarYear]=2006)
     , [SalesAmount_USD])

関連項目

参照

RELATEDTABLE 関数

その他の技術情報

フィルター関数 (DAX)