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])