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