在SSRS函数中访问变量

时间:2015-10-08 10:42:25

标签: sql sql-server reporting-services ssrs-2008

我有一份报告,列出了不同类别的项目。仅当类别名称从之前列出的名称更改时才需要显示。我的方法是使用自定义函数生成适当的文本,但需要以某种方式保留以前的值。想要使用报告变量,但我不确定如何设置其值并在函数中访问它?另外,我的方法是否有意义,或者有更简单的方法吗?

2 个答案:

答案 0 :(得分:1)

抱歉,设法以我想要的方式做到了。如果有人有类似的问题,这是我添加到“代码”部分的功能:

Public Function GetHeader (val as Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable, ByVal header as Int32)

Dim title As String
title = ""

If (val.Value <> header) Then
Select Case header
Case "1" 
title = "header 1"
Case "2" 
title = "header 2"
Case Else 
title = "header last"
End Select
val.Value = header
End If

Return title

End Function

这就是我从表达式中调用它的方式:

=Code.GetHeader(Variables!Header, Fields!YourProperty.Value)

答案 1 :(得分:0)

对我来说,似乎你应该使用行组。按类别创建行组,并添加包含类别标题的组标题。这样您就不需要存储先前类别的值来查看更改,但分组会处理它。