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
我有一份来自数据库 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