KB2821836 - 修复:运行在 SSAS 2008、SSAS 2012 或 SSAS 2008 R2 中返回多个计算成员的 MDX 查询时,结果不正确

应用对象
SQL Server 2008 Service Pack 3 SQL Server 2008 R2 Workgroup SQL Server 2008 R2 Web SQL Server 2008 R2 Standard SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Express SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Developer SQL Server 2008 R2 Datacenter SQL Server 2012 Analysis Services

Microsoft将 Microsoft SQL Server 2008 Service Pack 3 修补程序分发为一个可下载的文件。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2008 Service Pack 3 修补程序版本中包含的所有修补程序和所有安全修补程序。

症状

假设你有一个多维表达式 (MDX) 查询,其中包含 where 子句Microsoft SQL Server 2012 Analysis Services (SSAS 2012) , Microsoft SQL Server 2008 Analysis Services (SSAS 2008) 或 Microsoft SQL Server 2008 R2 Analysis Services (SSAS 2008 R2) 。 运行查询以返回多个计算成员。 在这种情况下,返回错误的结果。

注意 在 select 语句中查询计算成员之一时,正确返回结果。

MDX 查询的格式如下所示:


成员 [Dimension1]。[Hierarchy1]。[calculationMember1]
as aggregate ( {[Dimension1].[Hierarchy1]。[Level1]。[Member1ofLevel]。[Member1ofLevel2]})
成员 [Dimension1]。[Hierarchy1]。[calculationMember2]
as aggregate ({[Dimension1].[Hierarchy1]。[Member1ofLevel]。[Member2ofLevel2]})
选择
[度量值]。[Measure1] on 0,
{
[Dimension1]。[Hierarchy1]。[calculationMember1],
[Dimension1]。[Hierarchy1]。[calculationMember2]
} on 1
从 [YourCube]
where[Dimension1]。[Level1]。[Member1ofLevel]

解决方法

累积更新信息

SQL Server 2012 SP1 的累积更新 4

此问题的修补程序首次在累积更新 4 中发布。 有关如何获取 SQL Server 2012 SP1 的此累积更新包的详细信息,请单击以下文章编号以转到Microsoft知识库中的文章:

2833645 SQL Server 2012 SP1 的累积更新 4 注意 鉴于内部版本是累积的,每个新修补程序版本都包含所有修补程序和上一个 SQL Server 2012 SP1 修补程序版本中包含的所有安全修补程序。 建议考虑应用包含此修补程序的最新修补程序版本。 有关详细信息,请单击下面的文章编号,以转到 Microsoft 知识库中相应的文章:

2772858 在 SQL Server 2012 Service Pack 1 发布之后发布的 SQL Server 2012 内部版本

SQL Server 2008 R2 Service Pack 2 的累积更新 6

此问题的修补程序首次在累积更新 6 中发布。 有关如何为 SQL Server 2008 R2 Service Pack 2 获取此累积更新包的详细信息,请单击以下序列号以查看Microsoft知识库中的文章:

2830140 SQL Server 2008 R2 Service Pack 2 的累积更新包 6 注意 由于内部版本是累积的,因此每个新修补程序版本都包含以前的SQL Server 2008 R2 Service Pack 2 修补程序版本中包含的所有修补程序和所有安全修补程序。 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2730301 SQL Server 2008 R2 Service Pack 2 发布后发布的 SQL Server 2008 R2 版本

2012 SQL Server累积更新 7

此问题的修补程序首次在累积更新 7 中发布。 有关如何为 SQL Server 2012 获取此累积更新包的详细信息,请单击以下编号以查看Microsoft知识库中的文章:

2823247累积更新包 7 for SQL Server 2012Note 由于内部版本是累积的,因此每个新修补程序版本都包含所有修补程序和上一个 SQL Server 2012 修补程序版本中包含的所有安全修补程序。 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2692828 SQL Server 2012 年发布后发布的SQL Server 2012 版本

SQL Server 2008 R2 Service Pack 1 的累积更新 12

此问题的修补程序首次在累积更新 12 中发布。 有关如何获取 SQL Server 2008 R2 Service Pack 1 的此累积更新包的详细信息,请单击以下序列号以查看Microsoft知识库中的文章:

2828727累积更新包 12 for SQL Server 2008 R2 Service Pack 1 注意 由于内部版本是累积的,因此每个新修补程序版本都包含所有修补程序和所有安全修补程序,这些修补程序和所有安全修补程序包含在以前的 SQL Server 2008 R2 Service Pack 1 修补程序版本中。 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2567616 在 SQL Server 2008 R2 Service Pack 1 发布之后发布的 SQL Server 2008 R2 内部版本

SQL Server 2008 Service Pack 3 的累积更新 10

此问题的修补程序首次在累积更新 10 中发布。 有关如何为 SQL Server 2008 Service Pack 3 获取此累积更新包的详细信息,请单击以下序列号以查看Microsoft知识库中的文章:

2814783累积更新包 10 for SQL Server 2008 Service Pack 3 注意 由于内部版本是累积的,因此每个新修补程序版本都包含所有修补程序和所有安全修补程序,这些修补程序和所有安全修补程序包含在以前的 SQL Server 2008 Service Pack 3 修补程序版本中。 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2629969 SQL Server 2008 Service Pack 3 发布后发布的 SQL Server 2008 版本

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。