ALLSELECTED

Удаляет фильтры контекста из столбцов и строк в текущем запросе, сохраняя все остальные фильтры контекста или явные фильтры.

Функция ALLSELECTED получает контекст, представляющий все строки и столбцы в запросе, сохраняя явные фильтры и контексты, отличные от фильтров строк и столбцов. Ее можно использовать для получения визуальных итогов в запросах.

Синтаксис

ALLSELECTED([<tableName> | <columnName>[, <columnName>[, <columnName>[,…]]]] )

Параметры

Термин Определение
tableName Имя существующей таблицы с использованием стандартного синтаксиса DAX. Этот параметр не может быть выражением. Этот параметр является необязательным.
columnName Имя существующего столбца с использованием стандартного синтаксиса DAX (обычно полное имя). Этот параметр не может быть выражением. Этот параметр является необязательным.

Возвращаемое значение

Контекст запроса без фильтров столбцов и строк.

Remarks

  • Если имеется один аргумент, аргументом будет либо tableName, либо columnName. Если имеется несколько аргументов, они должны быть столбцами из одной и той же таблицы.

  • Эта функция отличается от функции ALL(), поскольку она содержит все фильтры, явно заданные в запросе, и все фильтры контекста, кроме фильтров строк и столбцов.

  • Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).

Пример

В следующем примере показано, как создавать различные уровни визуальных итогов в табличном отчете с помощью выражений DAX. В отчете два (2) предыдущих фильтра были применены к данным товарооборота посредников; один по группе территории продаж — Europe, а другой — по типу рекламной акции (Volume Discount). После применения фильтров визуальные итоги можно вычислить для всего отчета, для всех лет или для всех категорий продуктов. Кроме того, для наглядности получен общий итог по всему товарообороту посредника с удалением всех фильтров в отчете. Вычисление следующего выражения 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 вы получаете следующие результаты:

[Имя категории продуктов] [Календарный год] [Объем товарооборота посредников] [Общий итог посредника] [Визуальный итог посредника] [Визуальный итог посредника за весь календарный год] [Визуальный итог посредника для всех имен в категорий продуктов]
Принадлежности 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
Фактическое значение продаж через торгового посредника для года и категории продуктов. Это значение отображается в ячейке в центре отчета на пересечении года и категории.

Визуальный итог посредника за весь календарный год
Общий итог по категории продуктов за все годы. Это значение отображается в конце столбца или строки для определенной категории продукта и по всем годам в отчете.

Визуальный итог посредника для всех имен в категорий продуктов
Общий итого за год по всем категориям продуктов. Это значение отображается в конце столбца или строки для заданного года и для всех категорий продуктов в отчете.

Визуальный итог посредника
Общий итог по категории продуктов за все годы и для всех категорий продуктов. Это значение обычно отображается в нижнем правом углу таблицы.

Общий итог посредника
Это общий итог по всем продажам через торгового посредника до применения любого фильтра. Обратите внимание на разницу со столбцом [Визуальный итог посредника]. Не стоит забывать, что этот отчет содержит два (2) фильтра, один по группе категории продуктов, а другой — по типу рекламной акции.

Примечание

Если в выражении есть явные фильтры, эти фильтры также применяются к выражению.