.net – SSRS 2005中的字符串聚合

使用BIDS 2005创建rdl报告.我想让报告聚合数据组中的所有字符串.我一直在寻找Concatenate(Fields!CompanyName.Value,“,”),或者Join等等的东西.但它必须遍历给定范围内的所有记录.

我正在以日历格式创建用户活动的报告(看起来像谷歌的月视图日历)但是如果用户在一天中有多个活动,我希望所有活动都显示在同一个“日期框”中.这是一个需要聚合的问题,还是有其他方法获取SSRS报告来做到这一点,我试图找到一种方法来让矩阵为我做这个,但我正在打击墙.

在SSRS中进行聚合连接的常用方法是使用自定义代码.请看这里的例子:

http://blogs.msdn.com/suryaj/archive/2007/08/11/string-aggregation.aspx

这是基本形式的自定义代码

Private CurrGroupBy As String = String.Empty
Private ConcatVal As String = String.Empty
Public Function AggConcat(GroupBy as String,ElementVal as String) as String
    If CurrGroupBy = GroupBy Then
        ConcatVal = ConcatVal & "," & ElementVal 
    Else
        CurrGroupBy = GroupBy 
        ConcatVal = ElementVal 
    End If
    Return ConcatVal 
End Function

在您要显示的分组级别跟随此表达式:

=RunningValue(
     Code.AggConcat(
         Fields!YourFieldToGroupBy.Value,Fields!YourFieldToConcat.Value
       ),Last,"YourGroupName" 
   )

“YourGroupName”通常是“table1_Group1”,如果它是第一个表和您在报告中创建的第一个组,并且您没有指定其他名称.

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...