我应该在报告中使用函数或参数吗?

时间:2015-01-11 18:22:14

标签: sql sql-server vba reporting-services

SSRS使您能够使用parameters

enter image description here

或者您可以在RDL文件中实际write your own function

我想知道在什么情况下会使用函数的功能而不是参数,因为你可以在>中实现逻辑?

例如,MSDN已选择对此进行编码:

Public Function ChangeWord(ByVal s As String) As String
   Dim strBuilder As New System.Text.StringBuilder(s)
   If s.Contains("Bike") Then
      strBuilder.Replace("Bike", "Bicycle")
      Return strBuilder.ToString()
      Else : Return s
   End If
End Function

我也可以在参数中创建一个IIF语句并执行相同的操作。

1 个答案:

答案 0 :(得分:4)

我一直在使用SSRS多年,从未使用过函数(vba)。我认为最好使用参数。我的建议基于以下原因......

  1. SSRS是一种旨在呈现数据的工具。最好在sql server上处理数据操作。
  2. 使用参数还可以让您更接近数据源进行数据操作。仅提供报告实际需要的数据。将数据引入SSRS然后使用函数过滤将显然涉及不必要的数据处理。
  3. 当您将所有代码放在一个位置时,代码维护会更容易。 (sql server中的存储过程,ss​​rs报告中的函数)。
  4. 为什么重做已经为你照顾的工作。您已经显示的函数示例可以通过使用sql-server的内置替换函数轻松替换(同样,sql-server将比ssrs处理得更好更快)。
  5. 并且列表继续....正如他们所说keep it simple,尝试充分利用sql server和ssrs的内置功能,避免编写不必要的代码。