Birt插件最方便的操作就是支持交叉表Cross Table的生成
下面以一个简单例子说明如何建立交叉表,数据源依然是JDBC连接
数据表为销售记录表,包含下面几个字段:商家shop、商品类别category、销量amount
展现的效果为左侧竖排为商家,顶部横排为商品类别,中间为销量,右侧为相应商家的合计和底部为相应商品类别的合计,右下角为总计
------------------------------------------
| 类别1 | 类别2 | 类别3 | 合计
------------------------------------------
商家1 | 1 | 2 | 3 | 6
------------------------------------------
商家2 | 1 | 2 | 3 | 6
------------------------------------------
商家3| 1 | 2 | 3 | 6
------------------------------------------
合计 | 3 | 6 | 9 | 18
------------------------------------------
实现步骤:
1、new Data Source。
2、new Data Sets。
3、new Data Cubes。
Groups and Summaries
拖动Available Fields中shop和category到Groups and Summaries中的Drop a field here to create a group生成两个Group;
拖动Available Fields中amount到Groups and Summaries中的Drop a field here to create a summary生成summary Field;
OK;
在Data Explorer中的Data Cubes中修改Goup和SummaryField的name,修改显示项名称为中文。
4、从Palette中拖动Cross Tab到design,在Data Explorer中将Data Cubes中Group shop拖放至左列,将Group category拖放至顶部,将Summary Fields amount放至中间;
在Design中点击Group shop和Group category的向下箭头选择Totals增加行、列合计。
5、Outline中选择CrossTab-general-For empty cells,show 0,如果没有值时默认显示0。
6、Preview。