Reporting services 为什么第二个参数不基于第一个参数的条件进行过滤?

Reporting services 为什么第二个参数不基于第一个参数的条件进行过滤?,reporting-services,parameters,mdx,Reporting Services,Parameters,Mdx,我有一份使用立方体的SSRS报告。我正在尝试设置级联参数,其中第二个参数将根据第一个参数进行过滤。在使用另一个多维数据集之前,我已经成功地做到了这一点,但现在我遇到了一些问题。这次唯一不同的是,这两个参数来自不同的维度。选择第一个参数选项后,第二个参数中的结果将显示,而不进行过滤。而是返回所有结果 这是我的第一个参数的MDX: WITH MEMBER [Measures].[ParameterCaption] AS [Ag].[Department].CURRENTMEMBER.ME

我有一份使用立方体的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]
)
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];
请注意,它们来自同一多维数据集中的两个不同维度

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

请帮忙
谢谢

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

  • 将MDX保留为第二个参数的方式
  • 转到第二个数据集的属性
  • 转到过滤器部分
  • 将域设置为@FirstParameter

  • 尝试使用
    NonEmpty
    函数,将set作为第二个参数:

    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]
    )
    
    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];
    

    在SSMS中进行测试时,如果某个部门更换了
    @FirstParameter
    ,您是否看到发生了过滤?@SouravA,这是个好主意。我刚试过,但不幸的是没有发生过滤。很好。这意味着您在多维数据集中设置的关系存在问题,即部门与
    Qu
    没有关系。hello@Zolt-您可以使用NonEmpty函数