0

我有以下星型模式:

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

ObjHierarchy | Volume
MyObj1       | 12345
MyObj2       | 54321
MyObj1       | (NULL)
MyObj2       | (NULL)

一种解决方法是使用 NonEmpty,但似乎立方体的建模方式不正确。

4

2 回答 2

1

这是一种常见的情况,并不意味着立方体的模型有误。

在 MDX 中,如果您不希望它们出现在结果中,您还应该使用任何过滤器函数过滤行。在您的情况下,您应该使用 NonEmtpy 来消除空值。

于 2010-09-23T04:11:30.727 回答
0

您可以执行以下操作:

成员 XX 作为 [Objects].[ObjHierarchy].currentMember.Properties("KEY")

选择 { [Measures].[Volume], XX } on columns, [Objects].[ObjHierarchy].[Level 02] on rows from [DM OC] where ([Objects].[ObjectType].&[2], [模拟].[模拟 ID].&[52])

MyObj1 和 MyObj2 不应具有相同的密钥;否则我现在看不到。

于 2010-09-29T00:39:28.893 回答