Pab*_*ise 4 reference function reporting-services
在SSRS中,是否可以从报告函数引用报告变量?
下面是我的报告功能。我不想在函数中声明和设置 MaxRFWIDRange,而是引用具有相同名称的报告变量。
Function ValidateRFWIDRange(FromRFW As Integer, ToRFW As Integer) As Boolean
Dim DiffRFW As Integer
Dim MaxRFWIDRange As Integer
MaxRFWIDRange = 10000
DiffRFW = ToRFW - FromRFW
If DiffRFW > MaxRFWIDRange Then
Return False
Else
Return True
End if
End Function
Run Code Online (Sandbox Code Playgroud)
看起来你可以做到这一点。
TestVariable我通过向报告添加变量,然后添加以下自定义代码来对此进行测试:
Function TestVariableFunctionality(var as Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable) As String
Return var.Value
End Function
Run Code Online (Sandbox Code Playgroud)
我从文本框中调用该函数,如下所示:
=Code.TestVariableFunctionality(Variables!TestVariable)
这会将文本框中的变量值作为字符串输出。
您必须将完整的命名空间声明为Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable,因为Variable单独未定义。请参阅下文了解更多信息。
假设您已创建一个名为“Reportvariable1”的报表变量。
您所需要的只是一段自定义代码。
公共函数 SetVariableValue(val as Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable)
值.值 = 值.值 + 2
结束功能
就如此容易。我在函数中所做的就是获取报告变量引用,将 2 添加到现有值。就是这样。
如何从报告项中调用此函数?
=Code.SetVariableValue(变量!Reportvariable1)
这会发挥魔法。另请注意,在上面的表达式中,我只是传递变量引用而不是其值。