如何根据 2 个数据源过滤 SSRS 报告
How to filter a SSRS report based on 2 datasources
我创建了一个存储过程,其中有来自 2 个数据源的数据。我在源 A 和源 B 之间创建了一个联合,然后将其作为数据集提供给 SSRS 报告。
现在,用户希望查看基于源参数的报告,这将使他们能够 select/filter 基于数据源 "source A"、"source B" 或 "both" 的报告.因此,如果用户选择源 A,则报告应仅显示源 A 的数据,如果 "both" 则它将显示源 A 和源 B 的结果。
我试图解决这个问题的一种方法是创建 3 个单独的数据集,然后使用一个参数。我不确定这是否是最好的设计方法。如果大家有更好的想法请分享。
提前致谢!
您可以简单地在您的查询中标记一个额外的列,其中标识的来源类似于
SELECT *, 'A' as Src FROM myFirstDataSource
UNION
SELECT *, 'B' as Src FROM mySecondDataSource
然后只需在 Src 列上应用过滤器。
或者,只需在 SP 本身中执行此操作,方法是从报告中传递一个参数以确定要获取的数据,例如。
CREATE PROC myProc (@myParam varchar(1) = '') AS
DECLARE @t TABLE (Src varchar(1), ColumnA varchar(10), ColumnB int, ColumnC int)
IF (@myParam = '' OR @myParam = 'A')
BEGIN -- get data from first datasource
INSERT INTO @t
SELECT 'A', someCOlumnA, SomeColumnB, SomeColumnC FROM myFirstDataSource
END
IF (@myParam = '' OR @myParam = 'B')
BEGIN -- get data from second datasource
INSERT INTO @t
SELECT 'B', someCOlumnA, SomeColumnB, SomeColumnC FROM mySecondDataSource
END
SELECT * FROM @t
您实际上不需要第二个选项中的 Src
列,但如果您想在报告中突出显示数据的来源,它可能会很有用。
我创建了一个存储过程,其中有来自 2 个数据源的数据。我在源 A 和源 B 之间创建了一个联合,然后将其作为数据集提供给 SSRS 报告。 现在,用户希望查看基于源参数的报告,这将使他们能够 select/filter 基于数据源 "source A"、"source B" 或 "both" 的报告.因此,如果用户选择源 A,则报告应仅显示源 A 的数据,如果 "both" 则它将显示源 A 和源 B 的结果。
我试图解决这个问题的一种方法是创建 3 个单独的数据集,然后使用一个参数。我不确定这是否是最好的设计方法。如果大家有更好的想法请分享。
提前致谢!
您可以简单地在您的查询中标记一个额外的列,其中标识的来源类似于
SELECT *, 'A' as Src FROM myFirstDataSource
UNION
SELECT *, 'B' as Src FROM mySecondDataSource
然后只需在 Src 列上应用过滤器。
或者,只需在 SP 本身中执行此操作,方法是从报告中传递一个参数以确定要获取的数据,例如。
CREATE PROC myProc (@myParam varchar(1) = '') AS
DECLARE @t TABLE (Src varchar(1), ColumnA varchar(10), ColumnB int, ColumnC int)
IF (@myParam = '' OR @myParam = 'A')
BEGIN -- get data from first datasource
INSERT INTO @t
SELECT 'A', someCOlumnA, SomeColumnB, SomeColumnC FROM myFirstDataSource
END
IF (@myParam = '' OR @myParam = 'B')
BEGIN -- get data from second datasource
INSERT INTO @t
SELECT 'B', someCOlumnA, SomeColumnB, SomeColumnC FROM mySecondDataSource
END
SELECT * FROM @t
您实际上不需要第二个选项中的 Src
列,但如果您想在报告中突出显示数据的来源,它可能会很有用。