ALLEXCEPT
指定した列に適用されているフィルターを除き、テーブル内のすべてのコンテキスト フィルターを削除します。
構文
ALLEXCEPT(<table>,<column>[,<column>[,…]])
パラメーター
用語 | 定義 |
---|---|
table |
後続の引数で指定されている列のフィルターを除き、すべてのコンテキスト フィルターが削除されるテーブル。 |
column |
コンテキスト フィルターを保持する必要がある列。 |
ALLEXCEPT 関数の最初の引数は、ベース テーブルへの参照である必要があります。 後続のすべての引数は、基本列への参照である必要があります。 テーブル式または列式は、ALLEXCEPT 関数では使用できません。
戻り値
指定した列のフィルターを除くすべてのフィルターが削除されたテーブル。
備考
この関数は単独では使用されませんが、他の計算を実行する結果のセットを変更するために使用できる中間関数として機能します。
ALL と ALLEXCEPT は、さまざまなシナリオで使用できます。
関数と使用法 形容 ALL(テーブル) 指定したテーブルからすべてのフィルターを削除します。 実際には、ALL(Table) はテーブル内のすべての値を返し、それ以外の場合は適用されている可能性があるコンテキストからフィルターを削除します。 この関数は、多くのレベルのグループ化を使用していて、集計値と合計値の比率を作成する計算を作成する場合に便利です。 ALL (Column[, Column[, ...]]) テーブル内の指定した列からすべてのフィルターを削除します。テーブル内の他の列に対する他のすべてのフィルターは引き続き適用されます。 すべての列引数は、同じテーブルから取得する必要があります。 ALL(Column) バリアントは、1 つ以上の特定の列のコンテキスト フィルターを削除し、他のすべてのコンテキスト フィルターを保持する場合に便利です。 ALLEXCEPT(Table, Column1 [,Column2]...) 指定した列に適用されているフィルターを除き、テーブル内のすべてのコンテキスト フィルターを削除します。 これは、テーブル内の多くの列 (すべてではない) のフィルターを削除する場合に便利なショートカットです。 この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例
次のメジャー数式は、SalesAmount_USDを合計し、ALLEXCEPT 関数を使用して DateTime テーブルのコンテキスト フィルターを削除します。ただし、フィルターが CalendarYear 列に適用されている場合を除きます。
= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))
数式では、テーブル DateTime の CalendarYear 以外の列が視覚化のスライスに使用されるたびに、ALLEXCEPTが使用されるため、数式はスライサー フィルターを削除し、SalesAmount_USDの合計と等しい値を提供します。 ただし、CalendarYear 列を使用して視覚化をスライスする場合、結果は異なります。 CalendarYear は ALLEXCEPTの引数として指定されているため、年にデータがスライスされると、行レベルの年にフィルターが適用されます