ALLSELECTED
他のすべてのコンテキスト フィルターまたは明示的なフィルターを保持しながら、現在のクエリの列と行からコンテキスト フィルターを削除します。
ALLSELECTED 関数は、行フィルターと列フィルター以外の明示的なフィルターとコンテキストを維持しながら、クエリ内のすべての行と列を表すコンテキストを取得します。 この関数を使用して、クエリの視覚的な合計を取得できます。
構文
ALLSELECTED([<tableName> | <columnName>[, <columnName>[, <columnName>[,…]]]] )
パラメーター
用語 | 定義 |
---|---|
tableName |
標準の DAX 構文を使用した既存のテーブルの名前。 このパラメーターを式にすることはできません。 このパラメーターは省略可能です。 |
columnName |
標準の DAX 構文 (通常は完全修飾) を使用する既存の列の名前。 式にすることはできません。 このパラメーターは省略可能です。 |
戻り値
列フィルターと行フィルターのないクエリのコンテキスト。
備考
引数が 1 つある場合、引数は
tableName
またはcolumnName
です。 複数の引数がある場合は、同じテーブルの列である必要があります。この関数は、クエリ内で明示的に設定されたすべてのフィルターを保持し、行と列のフィルター以外のすべてのコンテキスト フィルターを保持するため、ALL() とは異なります。
この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例
次の例では、DAX 式を使用して、テーブル レポートにさまざまなレベルのビジュアル合計を生成する方法を示します。 レポートでは、前の 2 つのフィルターが Reseller Sales データに適用されています。1 つは Sales Territory Group = ヨーロッパ、もう 1 つはプロモーションタイプ = ボリューム 割引です。 フィルターを適用すると、レポート全体、すべての年、またはすべての製品カテゴリのビジュアル合計を計算できます。 また、説明のために、すべてのリセラー売上の総計も取得され、レポート内のすべてのフィルターが削除されます。 次の DAX 式を評価すると、Visual Totals を使用してテーブルを作成するために必要なすべての情報を含むテーブルが作成されます。
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 テーブル モデルに対して上記の式を実行すると、次の結果が得られます。
[製品名] | [暦年] | [Reseller Sales Amount] | [Reseller Grand Total] | [Reseller Visual Total] | [Reseller Visual Total for All of Calendar Year] | [すべての製品カテゴリ名のリセラービジュアル合計] |
---|---|---|---|---|---|---|
小物 | 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 すべての年および製品カテゴリの合計値。 通常、この値はテーブルの右下隅に表示されます。
リセラーの総計 これは、フィルターが適用される前のすべてのリセラー販売の総計です。[Reseller Visual Total] との違いに気付くはずです。 このレポートには、2 つのフィルターが含まれていることを覚えておいてください。1 つは製品カテゴリ グループで、もう 1 つはプロモーションの種類です。
手記
式に明示的なフィルターがある場合は、それらのフィルターも式に適用されます。