Grouping & Concatenation?

Hello,

I have a report with a table containing 2 groups (Role and Person, where person is a subgroup of role). I am trying to concatenate the names of a series of persons who are grouped by their role within an organisation so that a report that would usually appear as:
...
Board of Directors
Director1
DIrector2
Director3
Advisory Board
Adv1
Adv2...
...
Will appear as:
...
Board of Directors
Director1, Director2, Director3
Advisory Board
Adv1, Adv2...
...
This can easily be done in crystal reports by concatenating the person names in the header section of group 2 (persons) and printing the result in the footer section of group 1 (role). However, in SSRS it appears that a group's footer is output before the contents (details or subgroup) of the group and this throws out the whole concatenation process so that I end up with:
...
Board of Directors
Advisory Board
Director1, Director2, Director3
...
How can I get around this

Thank you,

Stephen.



Answer this question

Grouping & Concatenation?

  • hairunizam

    I've taken a look at the suggested solution and, correct me if I'm wrong but it appears to be doing much the same as what I am already doing. In the header of the inner group, I am concatenating the list of persons:
    ...
    Shared _memberList As String

    Shared Function AddMember(ByVal member As String) As String
    If (_memberList Is Nothing) Then _memberList = String.Empty
    If (_memberList.IndexOf(member) = -1) Then _memberList &= member
    Return String.Empty
    End Function
    ...
    Then in the footer of the outer group, I am printing the concatenated list:
    ...
    Shared Function GetMembers() As String
    Dim tempList As String = _memberList

    _memberList = String.Empty
    Return tempList
    End Function
    ...
    As I say, this is causing problems because it appears that the outer group's footer is processed before the inner group's header (which just doesn't seem logical to me), so the list of persons are allways printed either in the following group or following record.


  • devexpert

    Thanks for the response. I will give that a try and let you know how I get on.

    Thanks again,

    Stephen.


  • brob

    You may want to read this blog article: http://blogs.msdn.com/bwelcker/archive/2005/05/10/416306.aspx

    It describes the custom aggregate approach. In your particular example, the custom code function would just concatenate strings (instead of adding certain values as shown in the blog article).

    -- Robert



  • Don Tran

    Can you please be more specific Did you create a separate dataset for the list and added groupings in that Did you hide the list display in the header and took the concatenated result from it and displayed in the body of the table

    Thank you,

    Vinita


  • Randal Greene

    OK. I've finally found a solution. Instead of using a table to achieve this, I place a list object inside a table header and manually configured the groups within the list object. This way, I was able to ensure the order of precedence was header->inner group->footer.

    Regards,

    Stephen.


  • Grouping & Concatenation?