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