SSRS从报表功能中引用报表变量



在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

看起来你可以做到。

我通过向报告添加一个变量TestVariable来测试这一点,然后添加以下自定义代码:
Function TestVariableFunctionality(var as Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable) As String
    Return var.Value
End Function

我从一个文本框中调用这个函数,像这样:

=Code.TestVariableFunctionality(Variables!TestVariable)

在文本框中以字符串的形式输出变量的值。

必须声明完整的命名空间为Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable,因为没有单独定义Variable

访问SSRS函数中的变量

来自MSDN博客:

假设您已经创建了一个名为"Reportvariable1"的报告变量。

你所需要的只是一段自定义代码。

公共函数SetVariableValue(val as microsoft . reportingservices . reportprocessing . ondemandreporttobjectmodel . variable)

瓦尔。Value = Value .Value + 2

结束功能

就是这么简单。我在函数中所做的就是,获取报告变量引用,将2添加到现有值。就是这样。

如何从报表项调用此函数?

= Code.SetVariableValue(变量! Reportvariable1)

这将发挥魔力。还要注意,在上面的表达式中,我只是传递了变量reference,而不是它的值。

最新更新