2

运行查询时遇到问题:

WITH MEMBER [Measures].[Test1] AS
(
SUM({NONEMPTY(EXISTING(([Product].[Product].[All].Children,[Month].[Month].[All].Children])),  [Measures].[Measure1])}, [Measures].[Measure1])
)
SELECT {[Measures].[Test1],[Measure1]} ON 0
([Product].[Product].Children) ON 1
FROM
[CUBE]
WHERE
([Month].[Month].[Jan]:[Month].[Month].[Dec])

基于我对 MDX 的有限了解,我假设 [Test1] 和 [Measure1] 应该返回相同的结果。

根据我在 where 子句中输入的内容(即更改月份),即使 [Measure1] 有值,我也无法得到 [Test1] 的结果。

如果我将 [Measure1] 更改为同一事实表 [Measure2] 中的另一个度量,则不会出现此问题。

[Measure1] 只是一个标准度量,它没有计算或限定范围等。我知道 NONEMPTY 不需要在那里,如果我删除它,查询会按预期工作,但我想知道为什么它似乎过滤出非空数据。

4

2 回答 2

1

男士(和女士),看起来这实际上是一个 Microsft 分析服务错误。 http://support.microsoft.com/kb/2606211 我安装了累积更新,它已经解决了这个问题。

于 2012-11-14T00:10:02.093 回答
0

好吧,我会删除existing. 我认为没有理由使用它,它可能会导致错误,根据

默认情况下,集合在包含集合成员的多维数据集的上下文中进行评估。Existing 关键字强制指定的集合在当前上下文中进行评估。

资源

您的查询似乎是在另一个上下文中执行的。

于 2012-11-13T12:38:02.390 回答