为什么第二个参数不是根据第一个参数的标准进行过滤?

时间:2015-09-02 23:12:03

标签: reporting-services parameters mdx

我有一个使用多维数据集的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]
)

请注意,它们来自同一个多维数据集中的两个不同维度。

为什么没有过滤第二个参数中的数据?我是否需要添加某种过滤条件?

请帮忙 感谢

2 个答案:

答案 0 :(得分:1)

我找到了一个解决方案,但这并不是我所希望的。我希望有一些适当的工作MDX来处理过滤。但这就是我所做的。

  1. 将MDX保留为第二个参数的方式。
  2. 进入第二个数据集的属性。
  3. 去过滤部分。
  4. 将域设置为@FirstParameter。

答案 1 :(得分:1)

尝试使用Integer.parseInt()函数并将set作为第二个参数:

NonEmpty