首页 > 解决方案 > 如何在水晶报表中将行转列

问题描述

我有以下数据结构

**ParentItem        ChildItem**        description
ParentItem1         childItem1       childitem1 desc
ParentItem1         childItem2       childItem2 desc
ParentItem1         childItem3       childitem3 desc
ParentItem1         childItem4       childitem4 desc
ParentItem2         childItem1       childitem1 desc 
ParentItem2         childItem2       childItem2 desc

转置为

ParentItem1       childItem1,       childitem2,      childitem3,       childitem3
                  childitem1 desc   childitem2 desc   childitem3 desc  childitem4 desc

ParentItem2       childItem1,       childitem2,      
                  childitem1 desc   childitem2 desc  

我试过了,但给了我错误信息The remaining text does not appear to be a part of the formula

stringvar mydata;
if {ParentItem1} = previous(ParentItem1) then mydata := mydata + ', ' + {childItem1};
else  
mydata := mydata + ', ' + {childItem1};
mydata;

我也尝试了以下但显示多行我想在同一行中显示所有注意:{WOR1.ItemCode} 是包含 Childitems 的字段

if{WOR1.ItemCode} like "20*" then{WOR1.ItemCode}
else if{WOR1.ItemCode} like "40*" then{WOR1.ItemCode}
else if{WOR1.ItemCode} like "10*" then{WOR1.ItemCode}
else if{WOR1.ItemCode} like "50*" then{WOR1.ItemCode}
else if{WOR1.ItemCode} like "320*" then{WOR1.ItemCode}
else if{WOR1.ItemCode} like "30*" then{WOR1.ItemCode}
else ""

标签: crystal-reportscrystal-reports-2010sapb1

解决方案


您可以使用多个列来完成与此类似的事情(并且更容易维护)。

首先按 分组**ParentItem,然后格式化“详细信息”部分以使用多列,在“布局”选项卡中设置宽度并选择“横向然后向下”。

您甚至可以将组标题设置为“将以下部分置于下方”以将其与第一个详细信息项内联。


推荐阅读