通过参数选择将来自两个不同数据库服务器的结果集显示到SSRS中的一个报告中

时间:2019-06-19 20:09:37

标签: reporting-services ssrs-2012

我在两个具有相同结构的数据库服务器中有两个表。我正在准备使用表名和加入日期作为参数选择的SSRS报告。如果我选择table1 [下拉列表]并从日期/到日期筛选日期,则table1数据将显示在SSRS报告中;如果我选择table2,则它将显示table2数据。

表1 列:eid,ename,eno,joiningdate 表2 列:eid,ename,eno,joiningdate

N.B: 应该有一个数据集和一个报告

2 个答案:

答案 0 :(得分:0)

一种方法是从每个服务器获取2个数据集。然后有2个Tablix用于相应的数据集。根据所选的参数,您将显示相应的Tablix,然后隐藏另一个Tablix。

如果您的@source参数的值是1(对于源1)和2(对于源2)

您可以再进一步一步,将其传递给您的查询。例如,对于数据集1,您可以包含where @source = 1,而数据集2则显示where @source = 2

这样可以防止代码在不必要的服务器上不必要地运行。

答案 1 :(得分:0)

如果从第一台服务器链接了第二台服务器,则可以从第一台服务器执行类似的操作。

IF @Server = 1
    BEGIN
        SELECT eid, ename, eno, joiningdate FROM table1
    END
ELSE
    BEGIN
        SELECT eid, ename, eno, joiningdate FROM [MyLinkedServerName].[myDatabaseName].[mySchemaName].[table1]
    END

...其中@Server是从SSRS传入的参数名称