Some examples using VB within a report are:
Custom Aggregation (roll up strings into a comma-separated list)
Dim ID As String = ""
Dim TempStr As String = ""
Dim Students As System.Collections.Hashtable
' ******************************************************************
Function AggregateString(ByVal Partition As String, ByVal StudentId As String)
' we want to aggregate unique StudentIds into one long string
If ID = Partition Then
If (Not Students.Contains(StudentId)) Then
Students.Add(StudentId, Nothing)
TempStr = TempStr + "," + StudentId
End If
Else
ID = Partition
TempStr = StudentId
Students = New System.Collections.Hashtable
Students.Add(StudentId, Nothing)
End If
'
Return TempStr
End Function
Custom Grouping Effects (Keeping Track of Past Values)
Dim InnerGroup As String = ""
Dim OuterGroup As String = ""
Dim OuterGroupChanged As Boolean
' **************************************************
Function HasValueChanged(ByVal CurrentInner As String, ByVal CurrentOuter As String)
' we want to be aware of situations where both a Parent and Child group have changed.
If (InnerGroup <> CurrentInner And OuterGroup <> CurrentOuter) Then
OuterGroupChanged = 1
InnerGroup = CurrentInner
OuterGroup = CurrentOuter
ElseIf (InnerGroup <> CurrentInner) Then
InnerGroup = CurrentInner
OuterGroupChanged = 0
End If
'
Return OuterGroupChanged
End Function