水晶报表(crystal report) FineReport都是很优秀的java报表开发工具,这里对比一下它们的交叉表功能
水晶报表:
“交叉表”对象是一个网格,用来根据指定的条件返回值。数据显示在压缩行和列中。这种格式易于比较数据并辨别其趋势。它由三个元素组成:
行
列
摘要字段
“交叉表”中的行沿水平方向延伸(从一侧到另一侧)。在上面的示例中,“手套”(Gloves) 是一行。
“交叉表”中的列沿垂直方向延伸(上下)。在上面的示例中,“美国”(USA) 是一列。
汇总字段位于行和列的交叉处。每个交叉处的值代表对既满足行条件又满足列条件的记录的汇总(求和、计数等)。在上面的示例中,“手套”和“美国”交叉处的值是四,这是在美国销售的手套的数量。
FineReport:
新建工作簿,添加数据集
新建工作薄,添加数据集ds1,SQL语句为SELECT * FROM [销量]。
制作交叉表
设计好表样后,将数据列拖入对应单元格:
纵表头:地区与销售员默认纵向扩展实现从上到下分组;
横表头:将产品类型与产品设置为从左到右扩展,让产品横向分组,实现横表头;
数据:根据父子格的概念,销量会以销售员为左父格,产品为上父格,自动匹配出销售员与产品对应的销量。
预览即可看到上图交叉表。
注:此处销售员与产品对应的销量是唯一的,因此,直接将销量拖入单元格即可。
另:若销售员与产品对应的销量不唯一,则将销量数据列的显示方式设为汇总-求和,详细请查看数据显示方式。
标签:vsFineReport,教程,报表