症状
请考虑以下情况:
-
你在 Microsoft SQL Server 2012 Analysis Services (SSAS 2012)的多维数据集中拥有角色。
-
计算度量值在计算度量值脚本中定义,并与度量值组相关。
-
MeasureGroupMeasures函数在作用域内,仅影响度量值组的实际度量。
-
角色将拒绝 "度量值" 组的所有实际度量。
-
使用属于角色的用户帐户浏览多维数据集。
在此方案中,范围不会正确应用于计算的度量值。
原因
出现此问题的原因是 MeasureGroupMeasures 函数返回的计算度量值出乎意料。 预期结果是,该函数将返回一个空集,因为所有实际度量值均被该角色拒绝。 但是,该函数将返回一组计算度量值。
解决方案
累积更新信息
SQL Server 2012 的累积更新 2 Service Pack 1 (SP1)
此问题的修补程序首次在累积更新2中发布。有关如何获取此累积更新包的 SQL Server 2012 Service Pack 1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2790947 SQL Server 2012 的累积更新包 2 Service Pack 1注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 Service Pack 1 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2772858 在发布 SQL Server 2012 Service Pack 1 之后发布的 SQL Server 2012 版本
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方法
若要解决此问题,请在 "度量值" 组中添加角色不能拒绝的虚拟常规度量值。注意此度量值将显示给其他用户。 但是,在添加虚拟常规度量值后, MeasureGroupMeasures 函数仅返回虚拟常规度量值。
更多信息
有关如何定义计算成员的信息,请转到以下 MSDN 网站: