2012-02-07 4 views
2

나는 이것을 알아 내는데 어려움을 겪고 있으며 누군가가 도움을 줄 수 있기를 바라고있었습니다.다중 순위 열이있는 SSRS 2008의 매개 변수화 된 MDX 쿼리

SSAS OLAP 큐브에 직접 연결되는 SSRS (2008) 보고서가 있습니다. 각기 다른 측정 값을 보여주는 5 개의 다른 열이 있는데, "관리자"차원으로 구분됩니다. 또한 SSRS의 매개 변수화 된 드롭 다운을 사용하여 다양한 것을 기반으로 데이터를 필터링합니다.

SELECT 
NON EMPTY{ 
[Measures].[Metric A] 
,[Measures].[Metric B] 
,[Measures].[TMetric C] 
,[Measures].[Metric D] 
,[Measures].[Metric E] 
} ON COLUMNS 
,NON EMPTY{ 
([Ops Hierarchy].[Manager].[Manager].ALLMEMBERS) 
} DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 

FROM 
(
    SELECT 
    (
     STRTOSET(@CompleteDateCalendar, CONSTRAINED)) ON COLUMNS 
     FROM 
     ( 
      SELECT 
      (
      STRTOSET(@City, CONSTRAINED)) ON COLUMNS 

      FROM 
      (
       SELECT 
       (
        STRTOSET(@Region, CONSTRAINED)) ON COLUMNS 
        FROM 
        (
         SELECT 
         (
         STRTOSET(@Country, CONSTRAINED)) ON COLUMNS 

         FROM 
         [CUBE] 
        ) 
       ) 
      ) 
     ) 

WHERE 
(
IIF(STRTOSET(@Country, CONSTRAINED).Count = 1, STRTOSET(@Country, CONSTRAINED) 
, [Ops Hierarchy].[Division Name].currentmember) 
, IIF(STRTOSET(@Region, CONSTRAINED).Count = 1, STRTOSET(@Region, CONSTRAINED) 
, [Ops Hierarchy].[Region Name].currentmember) 
, IIF(STRTOSET(@City, CONSTRAINED).Count = 1, STRTOSET(@City, CONSTRAINED) 
, [Ops Hierarchy].[System Name].currentmember) 
, IIF(STRTOSET(@CompleteDateCalendar, CONSTRAINED).Count = 1, STRTOSET(@CompleteDateCalendar, CONSTRAINED) 
, [CompleteDate].[Calendar].currentmember) 
) 
    CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS 

그리고 물론

는, SSRS는 자동적으로 각 @parameter에 해당하는 드롭 다운을 만들어 :

다음은이 점에 저를 얻었다 코드입니다.

내가 각 메트릭에 대해 "순위"열을 추가 할 수있는 새로운 요구 사항이 : 나는 도움을 필요로하는 곳에

지금, 여기. 예를 들어, "지표 A"열 옆에는 "메트릭 A 순위"라는 다른 열이 있습니다.이 열은 해당 행의 관리자를 보고서에 표시된 다른 관리자와 순위를 매 깁니다 (드롭 다운).

지금, 나는 내가 추가 할 수 있다는 것을 알고 : MDX 쿼리의 상단에,

WITH 

SET [OrderedSet1] AS ORDER(FILTER([Ops Hierarchy].[Manager].MEMBERS,[Measures].[Metric A] <> NULL),[Measures].[Metric A],BASC) 
MEMBER [Measures].[Metric A Rank] AS RANK([Ops Hierarchy].[Manager].CurrentMember,[OrderedSet1]) 

SET [OrderedSet2] AS ORDER(FILTER([Ops Hierarchy].[Manager].MEMBERS,[Measures].[Metric B] <> NULL),[Measures].[Metric B],BASC) 
MEMBER [Measures].[Metric B Rank] AS RANK([Ops Hierarchy].[Manager].CurrentMember,[OrderedSet2]) 

등 다음 참조 [측정] [메트릭 순위] 및 [측정] [메트릭 B.. 순위] 내 선택 진술에.

어떻게 해야할지 모르겠지만 SSRS 드롭 다운으로 필터를 설정하여 보고서에 표시되는 것만 순위를 매기는 것입니다.

예를 들어 누군가 SSRS에서 Country = "USA", Region = "South", City = "Atlanta"및 CompleteDate = "Jan 2012"를 선택한 경우 I가 Metric A를 OrderedSet1과 비교하면 각 관리자가 난 단지 사용자가 해당 부분 집합에 대해 순위를 해요 그래서 나는 SSRS의 드롭 다운을 사용하여 WITH 절에서 세트 "를 매개 변수화"어떻게 월 2012

아틀란타에서 다른 관리자에 대해 순위를 어떻게 보여주고 싶은 선택 했습니까?

미리 도움 주셔서 감사합니다.

답변

1

설정 선언에 당신이 사용할 수있는

SET [OrderedSet1] AS ORDER(FILTER([Ops Hierarchy].[Manager].MEMBERS* 
[Ops Hierarchy].[System Name].currentmember 
,[Measures].[Metric A] <> NULL),[Measures].[Metric A],BASC)