Ssas MDX查询未正确筛选
我有以下星形模式:Ssas MDX查询未正确筛选,ssas,mdx,olap,cube,Ssas,Mdx,Olap,Cube,我有以下星形模式: Objects <-> Facts <-> Simulation -ObjectID -ObjectID -SimulationID -SimulationID -SimulationID -ObjHierarchy -Volume -ObjectType 但是,对于SimulationID=52,这将返回带有值的行,但对于SimulationID=53,这将返回带
Objects <-> Facts <-> Simulation
-ObjectID -ObjectID -SimulationID
-SimulationID -SimulationID
-ObjHierarchy -Volume
-ObjectType
但是,对于SimulationID=52,这将返回带有值的行,但对于SimulationID=53,这将返回带有空值的重复行:
ObjHierarchy | Volume
MyObj1 | 12345
MyObj2 | 54321
MyObj1 | (NULL)
MyObj2 | (NULL)
一种解决方法是使用NoneEmpty,但似乎多维数据集的建模方式不正确。这是一种常见情况,并不意味着多维数据集的模型错误
在MDX中,如果不希望行出现在结果中,还应使用任何筛选函数筛选行。在您的情况下,应该使用NonEmtpy删除空值。您能执行以下操作吗: 将成员XX作为[Objects].[ObjHierarchy].currentMember.Properties键 在列上选择{[Measures].[Volume],XX}, 行上的[Objects].[ObjHierarchy].[Level 02] 来自[DM OC] 其中[Objects].[ObjectType].&[2],[Simulation].[SimulationID].&[52]
MyObj1和MyObj2不应具有相同的密钥;否则我现在看不到。该查询返回相同数量的结果,xx成员返回所有行的值,即使对于卷为null的行也是如此。中的所有对象都有不同的键,因此,即使第一个MyObj1的键与第二个MyObj1的键也不同。这同样适用于MyObj2-对于每个SimulationID,都有不同的对象集合。看起来您有不同的MDX成员,名称相同,因此这解释了结果。
ObjHierarchy | Volume
MyObj1 | 12345
MyObj2 | 54321
MyObj1 | (NULL)
MyObj2 | (NULL)