我需要通过粗糙的维度(父-子)来查询多维数据集。过滤器可以是任意级别的多个节点。
这是因为它把结果限制在我想要的两个供应链上.
SELECT [Measures].[Total Revenue] ON COLUMNS
, [Product].[Products].Members ON ROWS
FROM myCube
WHERE
(
{
[Supply Chain].[SupplyChains].&[{c0c62bda-0369-4591-be85-3a7078bc3352}]
, [Supply Chain].[SupplyChains].&[{aca836e9-22ac-4952-8809-3f50aeda6891}]
}
)
我知道,吉德钥匙,不是我的设计!问题是,没有分配给特定供应链的数据被分配给顶级节点。如果我将顶部节点添加到列表中,那么所有数据都将被返回(因为所有数据都从属于它)。
是否有一种方法可以返回特定成员的值并忽略其子成员?我想说的是,“返回所有分配给顶级节点或列出的供应链及其子节点的数据)。
发布于 2014-08-08 15:54:41
谢谢FrankPI,你的评论为我指明了正确的方向。
最后,我在Excel中复制查询,然后使用OLAP PivotTable扩展检查生成的MDX。Excel允许您在子节点上设置过滤器,就像我试图做的那样。
它所做的是创建一组没有经过过滤的子节点的所有节点来获取其他所有的信息。然后,对于具有过滤子节点的节点的父节点(以及它的所有父节点到根节点),它将这些节点添加到集合中,但使用.DataMember函数,以便只包含节点值(而不是它的子节点)。因此,基本上,它没有说什么不能得到,而是明确说明要获取什么,列出所有其他节点,这些节点可能有点麻烦,但可以工作。
https://stackoverflow.com/questions/25069467
复制相似问题