症状
假设你使用 Microsoft SQL Server 2012 Analysis Service (SSAS 2012)或处于统一维度模型(UDM)模式的 SSAS 2014。 当您在没有任何筛选器的情况下运行 DAX 查询时,使用成员筛选器执行数据分析表达式(DAX)查询时,查询将返回错误的结果。 例如:首先针对 Adventureworks 多维数据集运行以下 DAX 查询:
EVALUATE ROW("Internet_Gross_Profit", 'Internet Sales'[Internet Gross Profit])
然后,在上一个查询之后运行以下 DAX 查询:
EVALUATECALCULATETABLE(ROW("Internet_Gross_Profit", 'Internet Sales'[Internet Gross Profit]),KEEPFILTERS(FILTER(KEEPFILTERS(VALUES('Date'[Month of Year.Key0])),OR(OR('Date'[Month of Year.Key0] = 9, 'Date'[Month of Year.Key0] = 8),'Date'[Month of Year.Key0] = 5))))
它返回与第一个查询相同的结果。 这是不正确的。
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2014 的累积更新4 /en-us/help/2999197
SQL Server 2012 SP2 的累积更新2 /en-us/help/2983175
SQL Server 2012 SP1 的累积更新11 /en-us/help/2975396
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。