ALLSELECTED

适用于:计算列计算表Measure视觉计算

从当前查询中的列 filters 行中删除上下文 and,同时保留 all 其他上下文 filtersor 显式 filters。

ALLSELECTED 函数获取表示查询中 all 行 and 列的上下文,同时保留除行 filters 列 and以外的显式 andfilters 上下文。 此函数可用于获取查询中的视觉总计。

语法

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

参数

术语 定义
tableName 使用标准 DAX 语法的现有表的名称。 此参数不能是表达式。 此参数是可选的。
columnName 使用标准 DAX 语法的现有列的名称,通常完全限定。 它不能是表达式。 此参数是可选的。

返回 value

查询的上下文,没有任何列 and 行 filters。

言论

  • If 有一个参数,参数要么 tableNameorcolumnName。 If 有多个参数,它们必须是同一表中的列。

  • 此函数与 ALL() 不同,因为它在查询中显式设置 allfilters,and 它保留 all 上下文 filters,而不是行 and 列 filters。

  • 在计算列 not 行级别安全性 (RLS) 规则中使用时,or 支持在 DirectQuery 模式下使用此函数。

以下示例演示如何使用 generate 表达式在表报表中 DAX 不同级别的视觉总计。 在报表中,已将两(2)previousfilters 应用于经销商销售数据;一个在销售区域组 = 欧洲and 另一个在促销类型 = 批量折扣。 应用 filters 后,可以计算整个报表的视觉总计(All 年),orAllProduct 类别。 此外,出于说明目的,也会获取 All 经销商销售的总计,从而删除报表中的 allfilters。 计算以下 DAX 表达式会导致表中 all 使用 Visual Totals 生成表所需的信息。

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 表格模型执行上述表达式后,你将获得以下结果:

[Product 类别名称] [CalendarYear] [经销商销售金额] [Reseller Grand Total] [Reseller Visual Total] [AllCalendarYear 经销商 Visual Total ] [All 类别名称 Product 的经销商视觉总计]
辅料 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

报表中的列为:

经销商销售金额:yearandproduct 类别的经销商销售的实际 value。 此 value 显示在报表中心的单元格中,位于 yearand 餐饮的交汇处。

经销商 Visual Total CalendarYearAll 跨 all 年 product 类别的总 value。 此 value 显示在报表中给定 or 类别 productand 的列 all 行的末尾。

经销商 Visual Total,用于 Product 类别名称的 All:跨 allproduct 类别 year 的总 value。 此 value 显示在报表中给定 oryearandall 的列 product 行的末尾。

经销商视觉对象总 valueall 年 andproduct 类别。 此 value 通常显示在表格最右下角。

经销商总计这是 all 经销商销售的总计,在应用任何 filter 之前;应注意到 [Reseller Visual Total] 的差异。 请记住,此报告包括两个(2)filters,一个是 Product 类别组 and 另一个在促销类型。

注意

if 表达式中有显式 filters,这些 filters 也会应用于表达式。