2016-05-05 47 views
0

我需要按降序排列Dimension。没有使用HIERARCHIZE关键字一切正常。这里我需要HIERARCHIZE来订购层次级数据。如何通过MDX查询应用分层和排序

Select NON EMPTY({[Measures].[Internet Sales Amount]}) dimension properties MEMBER_TYPE,CHILDREN_CARDINALITY, PARENT_UNIQUE_NAME ON COLUMNS ,NON EMPTY(HIERARCHIZE({{ORDER(drilldownlevel([Customer].[Customer Geography]),[Customer].[Customer Geography].CurrentMember.MEMBER_CAPTION,desc)}})) dimension properties MEMBER_TYPE,CHILDREN_CARDINALITY, PARENT_UNIQUE_NAME ON ROWS 

enter image description here enter image description here

+0

我不明白的问题是什么 - 你有一个解决办法:删除hierarchize? – whytheq

+0

请重新设置代码的格式 - 我之前完成了此操作:现在不可能再次阅读! – whytheq

+1

嗨请找到所附的屏幕截图。我希望​​现在它的病情可以清楚 – TAMILARASU

回答

0

Unfortunely我没有AdvWrks立方体测试以下:

SELECT 
    NON EMPTY 
    [Measures].[Internet Sales Amount] ON 0 
,NON EMPTY 
     ORDER(
     { 
      HIERARCHIZE([Customer].[Customer Geography].[COUNTRY].MEMBERS) 
      ,[Customer].[Customer Geography].[COUNTRY].&[GERMANY].CHILDREN 
     } 
     ,[Customer].[Customer Geography].CurrentMember.MEMBER_CAPTION 
     ,BDESC 
    ) 
    ) ON 1 
FROM [Adventure Works]; 

看起来像我有一个测试的解决方案,以类似的问题在这里:
Issue with Order function and Crossoins in MDX

看起来像一个应用程序上述对上下文的通货膨胀是这样的:

SELECT 
    NON EMPTY 
    [Measures].[Internet Sales Amount] ON 0 
,NON EMPTY 
    { 
     Order 
     (
     { 
      [Customer].[Customer Geography].[COUNTRY].MEMBERS 
     , [Customer].[Customer Geography].[COUNTRY].&[GERMANY].CHILDREN 
     } 
     ,(
      [Measures].[Internet Sales Amount] 
     ,[Customer].[Customer Geography].[COUNTRY] 
     ) 
     ,BDESC 
    ) 
    } ON 1 
FROM [Adventure Works]; 
+0

这不会提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 - [来自评论](/ review/low-quality-posts/12310997) –

+0

感谢您的评论。用这种语言制定确切的答案并不总是可能的。目前提问者已经自我回答,但事实是,提问者甚至没有回答他们最初提出的问题! ...请看下面我的评论 - 集合[[Customer]。[Customer Geography]。[COUNTRY] .MEMBERS'在他们的问题中,但不在他们的回答中。也许@GregGalloway可能会对此发表评论 - 格雷格:你是否同意,通过mdx的问题,向提问者确切提供他们需要的东西并不总是容易,但是像我的答案这样的东西通常就足够了? – whytheq

+0

@JonathanArgentiero还请注意,在原始问题中,脚本的结构是嵌套在HIERARCHIZE中的ORDER - 在我的答案中,我正确地交换了嵌套,以便HIERARCHIZE在ORDER .....中,然后查看用户的自我答复:交换在我的脑海里,这个顺序是重要的一点,我实际上觉得用户甚至没有回答我的答案,所以感觉有点难。但一切都没有什么大不了的。 – whytheq

0

解决的问题下面的查询

SELECT 
NON EMPTY [Measures].[Internet Sales Amount] ON 0, 
NON EMPTY 
    Order(
     Hierarchize(
      [Customer].[Customer Geography].[Country].&[Germany].Children 
     ) 
     ,[Customer].[Customer Geography].CurrentMember.MEMBER_CAPTION 
     ,DESC 
    ) 
ON 1 
FROM [Adventure works]; 
+0

这不一样你在原始问题中要求的脚本 - 请你修改它,以便包括加拿大和法国这样的国家? (我已经修改它来摆脱所有冗余括号) – whytheq