运行查询时遇到问题:
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不需要在那里,如果我删除它,查询将按预期工作,但我想知道为什么它似乎过滤掉非空数据。
答案 0 :(得分:1)
Gents(和女士们),看起来这实际上是一个Microsoft Analysis Services Bug。 http://support.microsoft.com/kb/2606211 我安装了累积更新,它解决了这个问题。
答案 1 :(得分:0)
好吧,我会删除existing
。
默认情况下,在包含集合成员的多维数据集的上下文中计算集合。 Existing关键字强制在当前上下文中评估指定的集合。
您的查询似乎是在另一个上下文中执行的。