我是SSRS的新手并且遇到了一些麻烦。
我有一份已部署的报告,我可以显示此报告 在使用Microsoft.Reporting.WebForms.ReportViewer的项目中。 没关系,但现在我必须编写一些代码来改变 我的数据集中使用的查询: 我需要获取我的sql并修改它(放在一些" Where ..."," exists", 等等) - 然后将sql放回报告中,然后执行/显示 报告。
我熟悉参数,但参数无法满足我的需求。
答案 0 :(得分:0)
用于数据集的SQL语句的表达式就是 - 表达式。它可以是您想要的任何东西,包括您构建的字符串。例如,您可以使用一个参数来指示如何构建SQL:
="SELECT ThisField, ThatField "
& "FROM MyTable "
& IIF(Parameters!AddExistsClause.Value, "WHERE SomeId IN (SELECT Id FROM OtherTable) ", "")
您甚至可以添加对自己构建SQL的DLL的引用:
="SELECT " & MyDLL.ReportFunctions.GetFields(Parameters!FieldName.Value)
& "FROM " & Parameters!Database.Value & ".dbo." & Parameters!Database.TableName "
& MyDLL.ReportFunctions.TableJoins(Parameters!FieldName.Value)
& MyDLL.ReportFunctions.WhereClause(Parameters!FieldName.Value)