我有以下星型模式:MDX查询不正确过滤
Objects <-> Facts <-> Simulation
-ObjectID -ObjectID -SimulationID
-SimulationID -SimulationID
-ObjHierarchy -Volume
-ObjectType
现在我想用两个维度来筛选立方体:
select [Measures].[Volume] on columns,
[Objects].[ObjHierarchy].[Level 02] on rows
from [DM OC]
where ([Objects].[ObjectType].&[2], [Simulation].[SimulationID].&[52])
然而,这返回的行SimulationID=52
(具有值),而且对于复制SimulationID=53
(用null):
ObjHierarchy | Volume
MyObj1 | 12345
MyObj2 | 54321
MyObj1 | (NULL)
MyObj2 | (NULL)
一种解决方法是使用NonEmpty,但是看起来这个cube并不是以正确的方式建模的。
该查询返回相同数量的结果,“xx”成员返回所有行的值(即使对于Volume为空的那些结果)。所有对象都有不同的键,所以即使第一个MyObj1具有与第二个MyObj1不同的键(这同样适用于MyObj2) - 对于每个SimulationID,都有不同的对象集合。 – noup 2010-10-01 13:30:30
看起来你有不同的MDX成员具有相同的名称,所以这解释了结果。 – 2010-10-03 10:42:01