我遇到了 MS SSAS 2008 R2 (10.50.4000.0) 的奇怪问题:我希望返回相同结果的两个 MDX 查询表现不同:
此查询返回正确的数字:
select
[Measures].[Fact Count] on 0
from
[Cube]
where
[Dimension].[Attribute].&[id]
而这个预计等同于第一个查询时会返回(null)(请参阅下面的详细信息)。
select
[Measures].[Fact Count] on 0
from
(
select
[Dimension].[Attribute].&[id] on 0,
from
[Cube]
)
一些细节
- 问题不是持久的。它在来自不同物理服务器的不同数据库上随机出现和消失(!)。
- 我们正在使用增量数据导入和非延迟处理。问题出现和数据导入之间没有严格的相关性。但我们继续朝这个方向进行调查。
- 将其他成员添加到子选择的轴可以解决问题,即 {[Dimension].[Attribute].&[id1], [Dimension].[Attribute].&[id2] on 0}工作正常。
- 几个维度受到影响。它们都有整数键。Prolbem 出现在可见和隐藏维度属性上。
- 向子选择的第二个轴添加额外维度修复了某些维度对的问题,即过滤器[Dimension1].[Attribute].[&id] on 0失败,但过滤器[Dimension1].[Attribute].[&id]在 0 上,[Dimension2].[Attribute].[&id] 在 1 上有效。
- 我们有两个度量值组,每个度量值组有几个度量值。所有维度都与第一个度量值组中的某些(默认)度量值相关,但某些维度仅与第二个度量值组相关。问题只出现在第二种类型的尺寸上。
有人知道 MS OLAP 这种奇怪的非确定性行为的原因吗?
谢谢。