我有一个正在工作的SSRS报告。现在,我们将推广到不同的站点(数据库中的模式相同,但是它将从其他表中加载数据)。 我的想法是添加一个表达式,可以根据以下示例进行修改:
=switch(Parameters!SiteTable.Value = "1", "select iReportID, sReportName, dtLastUpdated from \""::Company_Table1\"" order by iReportID desc", Parameters!SiteTable.Value = "2", "select iReportID, sReportName, dtLastUpdated from \""::Company_Table2\"" order by iReportID desc")
我的数据源正在从Oracle数据库加载。 我的想法正确吗?有更好的方法吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
使用查询函数可以使用,但是表达式的文本语法使用&来连接字符串。您需要先使用“,&和参数来关闭字符串。我认为您的表达式将使用转义符和Oracle参数指示符::给出错误。如果参数在Oracle中,则我想将其添加而无需转义出字符串(from ::Company_Table2 order by...
)-尽管我不确定参数是否可用于对象名称。
=switch(Parameters!SiteTable.Value = "1",
"select iReportID, sReportName, dtLastUpdated from " & Parameters!Company_Table1.Value & " order by iReportID desc",
Parameters!SiteTable.Value = "2",
"select iReportID, sReportName, dtLastUpdated from " & Parameters!Company_Table2.Value & " order by iReportID desc")