Поделиться через


ALLSELECTED

применяется:вычисляемый столбецвычисляемой таблицыизмерениевизуального вычисления

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

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

Синтаксис

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

Параметры

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

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

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

Замечания

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

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

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

Пример

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

Столбцы отчета:

Объем продаж торгового посредника— фактическое значение продаж торговых посредников за год и категорию продуктов. Это значение отображается в ячейке в центре отчета на пересечении года и catergory.

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

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

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

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

Заметка

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