我将一份 SSRS 2008 R2 报告部署到 ReportServer。
我希望能够针对不同的数据库运行相同的报告,而不必拥有报告的多个副本或编辑数据源。我尝试使用链接报告,但这不允许更改报告的数据源。
做这个的最好方式是什么?
我将一份 SSRS 2008 R2 报告部署到 ReportServer。
我希望能够针对不同的数据库运行相同的报告,而不必拥有报告的多个副本或编辑数据源。我尝试使用链接报告,但这不允许更改报告的数据源。
做这个的最好方式是什么?
我们这样做是为了对以前的财政年度进行分析。答案在于 Reporting Services 中的所有内容都是一个表达式,包括 SQL 语句。
我们在一个中心位置有一个数据库表,该表填充友好名称和数据库名称的下拉组合框,例如:
Current Accounts ACCOUNTS_LIVE
Financial Year End 2012 ACCOUNTS_FY2012
Financial Year End 2011 ACCOUNTS_FY2011
然后我们将其链接到一个名为 Database 的参数,以便用户可以选择他们想要的数据库(默认值为当前数据库)。
然后在你的 SQL 语句中你有类似的东西:
="SELECT LedgerCode, Amount "
&"FROM " & Parameters!Database.Value & ".dbo.Ledgers "
这将构建 SQL 语句并将其指向用户选择的数据库。无需更改数据源。