我有一个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数据库加载的。我的想法正确吗?有没有更好的方法呢?
发布于 2018-10-25 23:44:08
可以使用2 tablix
并根据参数切换可见性。
可见性表达式
=IIF(Parameters!SiteTable.Value = "1", true, false)
Tablix属性
发布于 2018-10-26 21:39:45
使用函数进行查询是可行的,但是表达式的文本语法使用&来连接字符串。你需要用",使用&,然后是参数来结束字符串。我认为你的表达式会给出转义和Oracle parameter indicator ::的错误。如果参数在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")
https://stackoverflow.com/questions/52998920
复制相似问题