我在两个具有相同结构的数据库服务器中有两个表。我正在准备使用表名和加入日期作为参数选择的SSRS报告。如果我选择table1 [下拉列表]并从日期/到日期筛选日期,则table1数据将显示在SSRS报告中;如果我选择table2,则它将显示table2数据。
表1 列:eid,ename,eno,joiningdate 表2 列:eid,ename,eno,joiningdate
N.B: 应该有一个数据集和一个报告
答案 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传入的参数名称