SSRS报表中如何切换数据源

How to switch datasources in SSRS report

我有一份来自数据库 MasterDB 的报告。现在我已经创建了同一个数据库的副本,名为 MasterArchive。我已经为数据库创建了参数以显示在下拉列表中。因此,当用户 select MasterDB 来自 select DataSource 下拉列表时,数据源应根据 selection.

进行更改

如何根据 selection 更改数据源?

任何人都可以指导我如何实现这一目标。

据我所知,除了使用动态 SQL

之外,没有其他优雅的方法可以做到这一点

所以在你的数据集查询中它可能看起来像

DECLARE @sql varchar(max)

SET @sql = 'SELECT * FROM ' + QUOTENAME(@datasourceParameter) + '[dbo].[myTable]'

EXEC (@sql)

它相当笨重,但它会起作用。

似乎无法编辑数据源,它似乎在报表执行期间设置了一次,即使它是基于参数。我确实对此进行了简短的测试,但无法使其正常工作。可能值得进一步研究,因为这将是一个更优雅的解决方案。

您实际上可以通过单击 Build 按钮下方的 fx 按钮为您的连接字符串编写表达式。例如,表达式类似于:

="Data Source=...;Initial Catalog=" + Parameters!DataSource.Value