我在两个结构相同的数据库服务器中有两个表。我正在准备一个SSRS报告,其中表名和加入日期作为参数选择。如果我选择表1 [下拉列表]和连接日期开始/结束日期过滤器,则表1数据将显示在SSRS报告中,如果我选择表2,那么它应该显示表2数据。
表1列: 开斋节, ename, eno, joiningdate表2列: 开斋节, ename, eno, joiningdate
注:应该有一个数据集和一个报表
一种方法是每个服务器有一个 2 个数据集。然后为相应的数据集提供 2 个 Tablix。根据所选参数,显示相应的 tablix 并隐藏另一个 tablix。
如果您的@source
参数表的值为 1(对于源 1(和 2(对于源 2(
更进一步,把它传递给你的查询......就像数据集1一样,你可以包含where @source = 1
,你的数据集2说where @source = 2
这将防止代码在它不打算用于的服务器上不必要地运行。. 有意义吗?
如果你从第一台服务器链接了第二台服务器,那么你可以从第一台服务器做这样的事情......
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 传入的参数名称