我目前正在SSRS中创建报告。为了节省创建存储过程负载的工作,我发现了一些代码,这些代码仅使用表中已存在的结果填充我的参数(我将其称为ID)。我的想法是我只想要已经出现在表中的Id值,以便没有任何空白记录。
我的报告中有一些代码如下:
Public Shared Function RemoveDups(ByVal items As String) As String
Dim noDups As New System.Collections.ArrayList()
Dim SpStr
SpStr = Split(items ,",")
For i As Integer=0 To Ubound(Spstr)
If Not noDups.Contains(SpStr(i).Trim()) Then
noDups.Add(SpStr(i).Trim())
End If
Next
Dim uniqueItems As String() = New String(noDups.Count-1){}
noDups.CopyTo(uniqueItems)
Return String.Join(",", uniqueItems)
End Function
这是获取值的参数中的内容:
=Split(Code.RemoveDups(JOIN(Parameters!BU.Value, “,”)), “,”)
这将从我在表中显示的数据集中获取ID,并删除所有重复的ID。
我遇到的问题是我在参数中显示的ID,例如5,但它没有在我创建的表中显示其数据。我已经运行了一个SQL查询,它确实有记录。当过滤器不在桌面上时,也会出现相关数据,但不会出现。
我能做些什么来解决问题。 提前谢谢。