MDXQuery - Currentmember 和他的 parent

MDXQuery - Currentmember with his parent

我正在尝试编写一个 MDX 查询来显示我的所有产品及其所属的子组(层次结构 parent)。虽然这项任务看起来相当微不足道,但我仍然无法弄清楚。这是我的 MDX 查询。

select 
    {
    [Products].[Hierarchy].currentmember.parent
    }
on 0,
    {
    [Products].[Hierarchy].[Product].members
    }
on 1
from [CUBE]

我也试过了

    select 
    {
Ancestor([Products].[Hierarchy].currentmember, 
         [Products].[Hierarchy].[Subgroup]) 
    }
on 0,
    {
    [Products].[Hierarchy].[Product].members
    }
on 1
from [CUBE];

但我从中得到的只是一个没有任何实际列的产品灰色列表。任何 help/tips 将不胜感激。

如果您想使用相同的层次结构,那么您只能在一个轴上使用它 - 上下文中有 3 个轴 - ON COLUMNS / ON ROWS / WHERE.

所以输入 [Products].[Hierarchy]. ON COLUMNSON ROWS 会抛出异常。

你可以做的是将一些逻辑移到 WITH 子句中,并将叙述移到 Measures 维度中:

WITH 
MEMBER [Measures].[ProdName] AS
  Ancestor(
    [Products].[Hierarchy].currentmember, 
    [Products].[Hierarchy].[Subgroup]
  ).MEMBER_CAPTION
SELECT 
  [Measures].[ProdName] ON 0,
  [Products].[Hierarchy].[Product].MEMBERS ON 1
FROM [CUBE];

您可以利用属性层次结构并执行如下操作:

SELECT 
  {} ON 0,
  [Products].[Product].[Product]
 *[Products].[Subgroup].[Subgroup]
    ON 1
FROM [CUBE];