ALLSELECTED

删除当前查询的列和行中的上下文筛选器,同时保留所有其他上下文筛选器或显式筛选器。

ALLSELECTED 函数获取表示查询中所有行和列的上下文,同时保留除行和列筛选器以外的显式筛选器和上下文。 函数可用于获取查询中的直观合计。

语法

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

parameters

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

返回值

不带任何列和行筛选器的查询的上下文。

备注

  • 如果有一个参数,则该参数为 tableName 或 columnName。 如果有多个参数,则它们必须是同一表中的列。

  • 此函数与 ALL() 不同,因为它保留了在查询中显式设置的所有筛选器,并且保留了除行和列筛选器之外的所有上下文筛选器。

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

示例

下面的示例演示如何使用 DAX 表达式在表报表中生成不同级别的直观合计。 在报表中,前面的两 (2) 个筛选器已应用于经销商销售数据;一个是 Sales Territory Group = Europe,另一个是 Promotion Type = 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]  

对照 AdventureWorks DW 表格模型在 SQL Server Management Studio 中执行上述表达式后,获得以下结果:

[产品类别名称][日历年][经销商销售额][经销商总数][经销商直观合计][经销商所有日历年的直观合计][经销商的所有产品类别名称的直观合计]
配件200080450596.9823877006.798738786.018
配件200180450596.9823877006.798738786.018
配件2002625.793380450596.9823877006.798738786.01891495.3104
配件200326037.313280450596.9823877006.798738786.018572927.0136
配件200412122.911580450596.9823877006.798738786.018212584.4747
配件200580450596.9823877006.798738786.018
配件200680450596.9823877006.798738786.018
自行车200080450596.9823877006.7987689287.7939
自行车200180450596.9823877006.7987689287.7939
自行车200273778.93880450596.9823877006.7987689287.793991495.3104
自行车2003439771.413680450596.9823877006.7987689287.7939572927.0136
自行车2004175737.442380450596.9823877006.7987689287.7939212584.4747
自行车200580450596.9823877006.7987689287.7939
自行车200680450596.9823877006.7987689287.7939
服装200080450596.9823877006.798795090.7757
服装200180450596.9823877006.798795090.7757
服装200212132.433480450596.9823877006.798795090.775791495.3104
服装200358234.221480450596.9823877006.798795090.7757572927.0136
服装200424724.120980450596.9823877006.798795090.7757212584.4747
服装200580450596.9823877006.798795090.7757
服装200680450596.9823877006.798795090.7757
组件200080450596.9823877006.798753842.2111
组件200180450596.9823877006.798753842.2111
组件20024958.145780450596.9823877006.798753842.211191495.3104
组件200348884.065480450596.9823877006.798753842.2111572927.0136
组件200480450596.9823877006.798753842.2111212584.4747
组件200580450596.9823877006.798753842.2111
组件200680450596.9823877006.798753842.2111

报表中的列包括:

Reseller Sales Amount
该年份和产品类别的经销商销售额实际值。 此值显示在报表中心的单元格中,位于年份和类别的交叉点处。

经销商的“所有日历年”的直观合计
某个产品类别所有年份的总价值。 此值出现在给定产品类别的列或行的末尾,并贯穿报表中的所有年份。

经销商的“所有产品类别名称”的直观合计
所有产品类别某一年份的总价值。 此值出现在给定年份的列或行的末尾,并涵盖了报表中的所有产品类别。

经销商直观合计
所有年份和产品类别的总价值。 此值通常显示在表的右下角。

经销商总数
这是在应用任何筛选器之前所有经销商销售额的总计;可以看到与[经销商直观合计]的差异。 请记住,此报表包含两 (2) 个筛选器,一个位于“产品类别组”,另一个位于“促销类型”中。

注意

如果表达式中有显式筛选器,这些筛选器也会应用于表达式。

results matching ""

    No results matching ""