mdx层次结构在查询中返回父级和子级

时间:2015-08-19 14:09:42

标签: mdx parent hierarchy

我有以下查询

WITH 
  MEMBER [Measures].[Period Key] AS 
    Axis(1).Item(1).Item(1).Hierarchy.CurrentMember.UniqueName 
  MEMBER [Measures].[Year Key] AS 
    [Dim Date].[Year].CurrentMember.UniqueName 
SELECT 
  {
    [Measures].[Valuation]
   ,[Measures].[Period Key]
   ,[Measures].[Year Key]
  } ON 0
 ,(
    [Dim Date].[Hierarchy].[Quarter].ALLMEMBERS
   ,[Dim Platform].[Platform Key].ALLMEMBERS
  ) ON 1
FROM [Cube];

我希望Year Key能够返回层次结构中的uniquename,因为我想在参数中使用它。在这种形式下,它将导致错误,因为字段定义期望层次结构形式的结果。 这可能吗?

2 个答案:

答案 0 :(得分:0)

不是100%确定要求,但如果我针对AdvWrks运行以下内容:

WITH 
  MEMBER [Measures].[Period Key] AS 
    Axis(1).Item(1).Item(1).Hierarchy.CurrentMember.UniqueName 
  MEMBER [Measures].[Year Key] AS 
    [Date].[Calendar Year].CurrentMember.UniqueName 
  MEMBER [Measures].[New Key] AS 
    [Date].[Calendar Quarter].CurrentMember.UniqueName 
SELECT 
  NON EMPTY 
    {
      [Measures].[Internet Sales Amount]
     ,[Measures].[Period Key]
     ,[Measures].[Year Key]
     ,[Measures].[New Key]
    } ON 0
 ,NON EMPTY 
    (
      [Date].[Calendar].[Calendar Quarter].ALLMEMBERS
     ,[Product].[Product Categories].ALLMEMBERS
    ) ON 1
FROM [Adventure Works];

结果如下:

enter image description here

[New Key]是否与您在多维数据集中的要求相似?

答案 1 :(得分:0)

假设您的层次结构是年 - 学期 - 季度 - 月 - 日期,那么如何使用

[Dim Date].[Hierarchy].CurrentMember.Parent.Parent.UniqueName 

如果您有年度季度 - 月份日期,

[Dim Date].[Hierarchy].CurrentMember.Parent.UniqueName 

这样做是因为它正在查看当前的Quarter并通过使用.PARENT函数在层次结构树中上升来返回相应的年份。