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) фильтра, один по группе категории продуктов, а другой — по типу рекламной акции.
Примечание
Если в выражении есть явные фильтры, эти фильтры также применяются к выражению.