为什么第二个参数没有根据第一个参数进行过滤?

Why second parameter is not filtering based on the criteria of the first?

我有一个使用多维数据集的 SSRS 报告。我正在尝试设置级联参数,其中将根据第一个参数过滤第二个参数。在使用不同的多维数据集之前,我已经成功地做到了这一点,但现在我遇到了问题。这次唯一不同的是,这两个参数来自不同的维度。在我 select 第一个参数选项之后,第二个参数中的结果未经过滤就出现了。相反,返回所有结果。

这是我的第一个参数的 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]
)

请注意,这些来自同一立方体中的两个不同维度。

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

请帮忙 谢谢

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

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

尝试使用 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];