将多行合并为一行

时间:2011-09-02 11:46:10

标签: reportingservices-2005 reporting-services ssrs-grouping

是否可以将多个行值连接到一行?从我获取我使用的数据的存储过程返回多个几乎相同的行,除了 category -column对已分配多个类别的产品有所区别。我想将这些类别合并到一列,用新行分隔。示例数据:

Name        Article number   Sales    Sales Category
------------------------------------------------
Product 1   2059102-1        20520    Retailer 1
------------------------------------------------
Product 1   2059102-1        20520    Retailer 2
------------------------------------------------
Product 1   2059102-1        20520    Retailer 3
------------------------------------------------
Product 2   2059102-2        2050     Retailer 1
------------------------------------------------
Product 2   2059102-2        5302     Retailer 3

期望的结果:

Name        Article number   Sales    Sales Category
------------------------------------------------
Product 1   2059102-1        20520    Retailer 1
                                      Retailer 2
                                      Retailer 3
------------------------------------------------
Product 2   2059102-2        2050     Retailer 1
                                      Retailer 3

谢谢!

1 个答案:

答案 0 :(得分:4)

使用两个分组表达式创建RDL表并在表的详细信息部分设置分组(因此您在表详细信息中有一个分组,但有多个分组表达式)。对于每个字段,分组表达式应为1:名称,商品编号。

然后在RDL表中为每个字段(名称,商品编号,销售,销售类别)添加一列。诀窍是将List控件放在Sales Category单元格中。在列表中为“Sales Category”字段添加一个文本框,我想你会得到你想要的结果。

还有一些令人讨厌的SQL tricks for "row concatenation",但这不是很容易维护的恕我直言。