2015-09-02 52 views
1

我有一個使用多維數據集的SSRS報告。我正在嘗試設置級聯參數,其中第二個參數將根據第一個參數進行過濾。在使用其他多維數據集之前,我已成功完成此操作,但現在我遇到了問題。唯一不同的是這兩個參數來自不同的維度。在我選擇第一個參數選項後,第二個結果出現而沒有被過濾。相反,所有結果都會返回。爲什麼第二個參數不是基於第一個參數的標準進行過濾?

這是我的第一個參數的MDX:

WITH 
MEMBER [Measures].[ParameterCaption] AS 
    [Ag].[Department].CURRENTMEMBER.MEMBER_CAPTION 
MEMBER [Measures].[ParameterValue] AS 
    [Ag].[Department].CURRENTMEMBER.UNIQUENAME 
MEMBER [Measures].[ParameterLevel] AS 
    [Ag].[Department].CURRENTMEMBER.LEVEL.ORDINAL 
SELECT 
{ 
    [Measures].[ParameterCaption], 
    [Measures].[ParameterValue], 
    [Measures].[ParameterLevel] 
} ON COLUMNS, 
    [Ag].[Department].children 
ON ROWS 
    FROM [MyCube] 

這是MDX的第二個參數:

WITH 
MEMBER [Measures].[ParameterCaption] AS 
     [Qu].[Qu Hierarchy].CURRENTMEMBER.MEMBER_CAPTION 
MEMBER [Measures].[ParameterValue] AS 
     [Qu].[Qu Hierarchy].CURRENTMEMBER.UNIQUENAME 
MEMBER [Measures].[ParameterLevel] AS 
     [Qu].[Qu Hierarchy].CURRENTMEMBER.LEVEL.ORDINAL 
SELECT 
{ 
     [Measures].[ParameterCaption], 
     [Measures].[ParameterValue], 
     [Measures].[ParameterLevel] 
} ON COLUMNS, 
Descendants 
(
     [Qu].[Qu Hierarchy].[Domain], 
     [Qu].[Qu Hierarchy].[Unit] 
) 
ON ROWS 
FROM 
( 
     SELECT 
     ( 
      STRTOSET(@FirstParameter, CONSTRAINED) 
    ) ON COLUMNS 
FROM [MyCube] 
) 

請注意,這些都是在同一個立方體兩個不同的層面。

任何想法爲什麼第二個參數中的數據沒有被過濾?我是否需要添加某種過濾條件?

請幫 感謝

+0

而在SSMS的測試,如果通過一些部門更換'@ FirstParameter',你看到過濾怎麼回事? – SouravA

+0

@SouravA,這是一個好主意。我剛剛嘗試過,但不幸的是沒有過濾發生。 – Zolt

+0

好。這意味着您在立方體中建立的關係存在問題,即部門與「Qu」沒有關係。 – SouravA

回答

1

我找到了解決辦法,但它不正是我所期待的。我希望能有一些適當的MDX來處理過濾。但這是我所做的。

  1. 將MDX留給第二個參數。
  2. 加入第二個數據集的屬性。
  3. 去過濾部分。
  4. 設置域等於@FirstParameter。
1

嘗試使用NonEmpty功能與設定作爲第二個參數:

WITH 
    MEMBER [Measures].[ParameterCaption] AS 
    [Qu].[Qu Hierarchy].CurrentMember.Member_Caption 
    MEMBER [Measures].[ParameterValue] AS 
    [Qu].[Qu Hierarchy].CurrentMember.UniqueName 
    MEMBER [Measures].[ParameterLevel] AS 
    [Qu].[Qu Hierarchy].CurrentMember.Level.Ordinal 
SELECT 
    { 
    [Measures].[ParameterCaption] 
    ,[Measures].[ParameterValue] 
    ,[Measures].[ParameterLevel] 
    } ON COLUMNS 
,NonEmpty 
    (
    Descendants 
    (
     [Qu].[Qu Hierarchy].[Domain] 
    ,[Qu].[Qu Hierarchy].[Unit] 
    ) 
    ,StrToSet 
    (@FirstParameter 
    ,CONSTRAINED 
    ) 
) ON ROWS 
FROM [MyCube]; 
相關問題