ALLSELECTED
他のすべてのコンテキスト フィルターまたは明示的なフィルターを保持しながら、現在のクエリの列と行からコンテキスト フィルターを削除します。
ALLSELECTED 関数は、行フィルターと列フィルター以外の明示的なフィルターおよびコンテキストを保持しながら、クエリ内のすべての行と列を表すコンテキストを取得します。 この関数を使用すると、クエリ内の表示部分の合計を取得できます。
構文
ALLSELECTED([<tableName> | <columnName>[, <columnName>[, <columnName>[,…]]]] )
パラメーター
用語 | 定義 |
---|---|
tableName | 既存のテーブルの名前。標準 DAX 構文を使用します。 このパラメーターに式を指定することはできません。 このパラメーターは省略できます。 |
columnName | 標準 DAX 構文が使用された、既存の列の名前 (通常は完全修飾)。 これを式にすることはできません。 このパラメーターは省略できます。 |
戻り値
列フィルターと行フィルターを使用しないクエリのコンテキスト。
解説
引数が 1 つある場合、その引数は "tableName" または "columnName" のいずれかです。 引数が複数ある場合は、同じテーブルの列である必要があります。
この関数は、クエリ内で明示的に設定されるすべてのフィルターを保持し、行フィルターと列フィルター以外のすべてのコンテキスト フィルターを保持する点が ALL () と異なります。
この関数は、計算列または行レベルのセキュリティ (RLS) ルールで使用される場合、DirectQuery モードでの使用はサポートされません。
例
次の例では、DAX 式を使用して、テーブル レポートでさまざまなレベルの表示部分の合計を生成する方法を示します。 レポートでは、2 つの以前のフィルターが再販業者の売上データに適用されています。1 つは販売区域グループ = "ヨーロッパ"、もう 1 つはプロモーションの種類 = "ボリューム割引" のフィルターです。 フィルターが適用されると、レポート全体、すべての年、またはすべての製品カテゴリについて、表示部分の合計を計算できます。 また、図示するために、すべての再販業者売上の総計も取得され、レポート内のすべてのフィルターが削除されます。 次の DAX 式を評価すると、表示部分の合計を含むテーブルを作成するために必要なすべての情報を含むテーブルが生成されます。
define
measure 'Reseller Sales'[Reseller Sales Amount]=sum('Reseller Sales'[Sales Amount])
measure 'Reseller Sales'[Reseller Grand Total]=calculate(sum('Reseller Sales'[Sales Amount]), ALL('Reseller Sales'))
measure 'Reseller Sales'[Reseller Visual Total]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED())
measure 'Reseller Sales'[Reseller Visual Total for All of Calendar Year]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED('Date'[Calendar Year]))
measure 'Reseller Sales'[Reseller Visual Total for All of Product Category Name]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED('Product Category'[Product Category Name]))
evaluate
CalculateTable(
//CT table expression
summarize(
//summarize table expression
crossjoin(distinct('Product Category'[Product Category Name]), distinct('Date'[Calendar Year]))
//First Group by expression
, 'Product Category'[Product Category Name]
//Second Group by expression
, 'Date'[Calendar Year]
//Summary expressions
, "Reseller Sales Amount", [Reseller Sales Amount]
, "Reseller Grand Total", [Reseller Grand Total]
, "Reseller Visual Total", [Reseller Visual Total]
, "Reseller Visual Total for All of Calendar Year", [Reseller Visual Total for All of Calendar Year]
, "Reseller Visual Total for All of Product Category Name", [Reseller Visual Total for All of Product Category Name]
)
//CT filters
, 'Sales Territory'[Sales Territory Group]="Europe", 'Promotion'[Promotion Type]="Volume Discount"
)
order by [Product Category Name], [Calendar Year]
SQL Server Management Studio で AdventureWorks DW 表形式モデルに対して上記の式を実行すると、次の結果が得られます。
[Product Category Name] | [Calendar Year] | [Reseller Sales Amount] | [Reseller Grand Total] | [Reseller Visual Total] | [Reseller Visual Total for All of Calendar Year] | [Reseller Visual Total for All of Product Category Name] |
---|---|---|---|---|---|---|
アクセサリ | 2000 | 80450596.9823 | 877006.7987 | 38786.018 | ||
アクセサリ | 2001 | 80450596.9823 | 877006.7987 | 38786.018 | ||
アクセサリ | 2002 | 625.7933 | 80450596.9823 | 877006.7987 | 38786.018 | 91495.3104 |
アクセサリ | 2003 | 26037.3132 | 80450596.9823 | 877006.7987 | 38786.018 | 572927.0136 |
アクセサリ | 2004 | 12122.9115 | 80450596.9823 | 877006.7987 | 38786.018 | 212584.4747 |
アクセサリ | 2005 | 80450596.9823 | 877006.7987 | 38786.018 | ||
アクセサリ | 2006 | 80450596.9823 | 877006.7987 | 38786.018 | ||
バイク | 2000 | 80450596.9823 | 877006.7987 | 689287.7939 | ||
バイク | 2001 | 80450596.9823 | 877006.7987 | 689287.7939 | ||
バイク | 2002 | 73778.938 | 80450596.9823 | 877006.7987 | 689287.7939 | 91495.3104 |
バイク | 2003 | 439771.4136 | 80450596.9823 | 877006.7987 | 689287.7939 | 572927.0136 |
バイク | 2004 | 175737.4423 | 80450596.9823 | 877006.7987 | 689287.7939 | 212584.4747 |
バイク | 2005 | 80450596.9823 | 877006.7987 | 689287.7939 | ||
バイク | 2006 | 80450596.9823 | 877006.7987 | 689287.7939 | ||
衣服 | 2000 | 80450596.9823 | 877006.7987 | 95090.7757 | ||
衣服 | 2001 | 80450596.9823 | 877006.7987 | 95090.7757 | ||
衣服 | 2002 | 12132.4334 | 80450596.9823 | 877006.7987 | 95090.7757 | 91495.3104 |
衣服 | 2003 | 58234.2214 | 80450596.9823 | 877006.7987 | 95090.7757 | 572927.0136 |
衣服 | 2004 | 24724.1209 | 80450596.9823 | 877006.7987 | 95090.7757 | 212584.4747 |
衣服 | 2005 | 80450596.9823 | 877006.7987 | 95090.7757 | ||
衣服 | 2006 | 80450596.9823 | 877006.7987 | 95090.7757 | ||
コンポーネント | 2000 | 80450596.9823 | 877006.7987 | 53842.2111 | ||
コンポーネント | 2001 | 80450596.9823 | 877006.7987 | 53842.2111 | ||
コンポーネント | 2002 | 4958.1457 | 80450596.9823 | 877006.7987 | 53842.2111 | 91495.3104 |
コンポーネント | 2003 | 48884.0654 | 80450596.9823 | 877006.7987 | 53842.2111 | 572927.0136 |
コンポーネント | 2004 | 80450596.9823 | 877006.7987 | 53842.2111 | 212584.4747 | |
コンポーネント | 2005 | 80450596.9823 | 877006.7987 | 53842.2111 | ||
コンポーネント | 2006 | 80450596.9823 | 877006.7987 | 53842.2111 |
レポート内の列は次のとおりです。
Reseller Sales Amount
年と製品カテゴリに対する再販業者売上の実際の値。 この値は、レポートの中央のセル (年とカテゴリの交差部分) に表示されます。
Reseller Visual Total for All of Calendar Year
すべての年にわたる製品カテゴリの合計値。 この値は、レポート内のすべての年にわたって、所定の製品カテゴリの列または行の最後に表示されます。
Reseller Visual Total for All of Product Category Name
すべての製品カテゴリにおける 1 年間の合計値。 この値は、レポート内のすべての製品カテゴリにわたって、所定の年の列または行の最後に表示されます。
Reseller Visual Total
すべての年と製品カテゴリの合計値。 この値は、通常、テーブルの右下隅に表示されます。
Reseller Grand Total
これは、フィルターが適用される前の、すべての再販業者売上の総計です。[Reseller Visual Total] との違いがわかるはずです。 このレポートには 2 つのフィルターが含まれています。1 つは製品カテゴリ グループ、もう 1 つはプロモーション タイプのものであることに留意します。
注意
式に明示的なフィルターがある場合は、それらのフィルターも式に適用されます。