Function 如何在SSRS中使用LookUpSet对连接函数中的值进行排序?
如何在连接函数中对lookupper函数返回的值进行排序 示例数据:Function 如何在SSRS中使用LookUpSet对连接函数中的值进行排序?,function,reporting-services,reportbuilder3.0,Function,Reporting Services,Reportbuilder3.0,如何在连接函数中对lookupper函数返回的值进行排序 示例数据: TransNo MasterTran Item Category ModifierLevel 1001000 1001000 ItemA CategoryB 0 1002000 1001000 ItemB CategoryC 1 1003000 1001000 ItemC CategoryC 1 我想得到的最终结果是
TransNo MasterTran Item Category ModifierLevel
1001000 1001000 ItemA CategoryB 0
1002000 1001000 ItemB CategoryC 1
1003000 1001000 ItemC CategoryC 1
我想得到的最终结果是“CategoryB ItemB ItemC”。当我使用Join和lookupper的以下组合时,我最终得到了“itembcategoryb ItemC”
这是表中单元格上的表达式。行组设置为Group on TransNo,按TransNo排序。我尝试了各种不同的方法来为组排序,但总是得到相同的结果
关于如何强制LookUnder中的数据顺序以使其按我想要的顺序连接,有什么想法吗 我最后发现了这一点,因为我看到了其他问题,这些问题只希望从Join(lookupper())函数中提取不同的值,并对其进行了修改。此代码基于的是来自的有用答案
Public Function JoinSortAlpha(arr As Object(), delimiter As String) As String
System.Array.Sort(arr)
Dim result As String = String.Empty
For i As Integer = 0 To arr.Length - 1
If Not arr(i) Is Nothing And arr(i) <> String.Empty Then
If result = String.Empty Then
result = arr(i)
Else
result = result + delimiter + arr(i)
End If
End If
Next
Return result End Function
公共函数jointortalpha(arr作为对象(),分隔符作为字符串)作为字符串
System.Array.Sort(arr)
Dim结果为String=String.Empty
对于i,整数=0到阵列长度-1
如果不是,则arr(i)为Nothing,arr(i)字符串为空
如果result=String.Empty,则
结果=arr(i)
其他的
结果=结果+分隔符+arr(i)
如果结束
如果结束
下一个
返回结果结束函数
=JoinSortAlpha(LookUpSet(Fields!MasterTransNo.Value,Fields!MasterTransNo.Value,Iif(Fields!ModifierLevel.Value>0,Trim(Fields!itemsdescription.Value),Trim(Fields!CategoryDescription.Value)),“LineItemDetails”),”)
Public Function JoinSortAlpha(arr As Object(), delimiter As String) As String
System.Array.Sort(arr)
Dim result As String = String.Empty
For i As Integer = 0 To arr.Length - 1
If Not arr(i) Is Nothing And arr(i) <> String.Empty Then
If result = String.Empty Then
result = arr(i)
Else
result = result + delimiter + arr(i)
End If
End If
Next
Return result End Function