2015-09-02 49 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]; 
相关问题