为什么第二个参数没有根据第一个参数进行过滤?
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 来处理过滤。但这就是我所做的。
- 将 MDX 保留为第二个参数。
- 进入第二个数据集的属性。
- 转到过滤器部分。
- 设置域等于@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];
我有一个使用多维数据集的 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 来处理过滤。但这就是我所做的。
- 将 MDX 保留为第二个参数。
- 进入第二个数据集的属性。
- 转到过滤器部分。
- 设置域等于@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];