次の方法で共有


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 つはプロモーションの種類です。

手記

式に明示的なフィルターがある場合は、それらのフィルターも式に適用されます。