将行数据转换为Crystal Reports中的列

时间:2013-09-16 11:29:12

标签: crystal-reports crystal-reports-xi

我从存储过程返回以下数据

Staff  Category   Amount
-----  -------    ------
Bob    Art        123
Bob    Sport      777
Bob    Music      342 
Jeff   Art        0
Jeff   Sport      11
Jeff   Music      27

即使金额为零,所有员工也将始终返回所有类别

我想在Crystal Report上做什么输出: -

Staff   Art     Sport   Music   
-----   ---     -----   -----   
Bob     123     777     342
Jeff    0       11      27

我实际上希望将类别行中的数据转换为报表中的标题或列。

我不想使用Cross Tab,因为我还需要添加其他不适合Cross标签的东西

关于如何在Crystal中做到这一点的任何想法?我正在使用版本11

2 个答案:

答案 0 :(得分:2)

应该可以使用PIVOT表在你的sproc中实现这一点。可以在here

找到PIVOT表上的帮助文件

答案 1 :(得分:1)

由工作人员对报告进行分组,并将工作人员,艺术,体育,音乐作为文本字段放在组标题中。

现在在详细信息部分中将数据放置为

Staff, formula 1 (If Category='Art' then Amount), formula 2 (If Category='Sport' then Amount), formula 3 (If Category='Music' then Amount)

如果工作人员只有一个值,那么其他人可以将工作人员放在组页脚中并获取组页脚中所有值的总和(不要从详细信息中删除公式1,2,3)