2014-05-13 3 views
0

내 큐브에는 다음 치수, 치수가 있습니다.MDX의 여러 치수로 수량을 주문하는 방법은 무엇입니까?

**Measure:** 
Amount 

**From Customer dimension:** 
Busines Unit Number 
Business Unit Description 
Cust Number 
Cust Name 

**From Bucket dimension:** 
Bucket 

금액을 모두 주문해야합니다. 나는 또한 그것을 실행하는 데 시간이 너무 많이 걸리는 &을 원하는대로 내가 지금까지 IS MDX에서 재판을 무엇

,

SELECT 
NON EMPTY { 

    [Measures].[Amount] 

} ON COLUMNS, 

NON EMPTY { (
ORDER(
    (
    [Dim Customer].[BU].[BU].MEMBERS* 
    [Dim Customer].[BU Description].[BU Description].MEMBERS* 
    [Dim Customer].[Cust No].[Cust No].ALLMEMBERS* 
    [Dim Address].[Customer Name].[Customer Name].ALLMEMBERS 
    ), 
[Measures].[Amount], 
BDESC 
) 

* 

[Bucket Dim].[Bucket].[Bucket].ALLMEMBERS 
) } ON ROWS 

FROM [Cube] 

아직도 나는 올바른 순서를 받고 있지 않다.

+0

[Measures].[Amount]하여 다음 BU의 캡션에 의해, cust no의 값으로 주문할 수 있습니까? 설명서 (http://msdn.microsoft.com/en-us/library/ms145587.aspx)에 따르면이 파일은 한 세트 여야합니다. 그러나 괄호 안에 쉼표로 구분 된 집합 목록을 전달합니다. 어쩌면 당신은 그것을 4 개의 단일 차원 세트의 교차 곱으로 만들어야합니다. 이자형. 쉼표를'*'로 대체 하시겠습니까? 적어도 세트가 될 것입니다. – FrankPl

+0

네가 맞습니다. 나는 그 일을 마치고 지금 일하고있다. – Aditya

+0

@FrankPl, 중괄호로도 사용할 수 있습니다. 여기서 사용하는 differen는 & * – Aditya

답변

1

ORDER 함수를 중첩하여 조건에 따라 여러 차례 주문할 수 있습니다.

먼저 외부 순서가 적용됩니다. 약간 직관적입니다.

다음은 ORDER`이있다 '의 첫 번째 인수를 가정 할 어떤 데이터 유형 다음

SELECT 
    NON EMPTY 
    {[Measures].[Amount]} ON COLUMNS 
,NON EMPTY 
    { 
     Order 
     (
      Order 
      (
      Order 
      (
       [Dim Customer].[BU].[BU].MEMBERS* 
       [Dim Customer].[BU Description].[BU Description].MEMBERS* 
       [Dim Customer].[Cust No].[Cust No].ALLMEMBERS* 
       [Dim Address].[Customer Name].[Customer Name].ALLMEMBERS 
      ,[Measures].[Amount] 
      ,BDESC 
      ) 
      ,[Dim Customer].[BU].CurrentMember.Member_Caption 
      ,BDESC 
     ) 
     ,[Dim Customer].[Cust No].CurrentMember.MemberValue 
     ,BDESC 
     ) 
     * 
     [Bucket Dim].[Bucket].[Bucket].ALLMEMBERS 
    } ON ROWS 
FROM [Cube]; 
관련 문제