仅仅会做分组统计还是不能满足需求,某个客户通过工作流生成销售报表或财务报表时,如果一个地区有N种产品需要统计分析,做简单的汇总肯定难以满足需求,那怎么办。常规的办公自动化软件就很难做到,通常这样的需求只能通过导出excel报表,再到excel里加以统计,但易能OA集成了强大的报表工具,只需要用报表工具对数据库进行交叉统计
软件开发,必须要会的报表之三,是交叉表。
前面两张报表,讲的都是数据纵向展开的,列是固定的。而交叉表,则在纵、横两个方向都进行数据的展开(扩展),行和列都不是固定的。
图中前一个表,是数据原始的存储结构(实际往往还涉及代码表之类的情况,即表中存的是product_id之类的,而产品的全名存在另外的表中)。而后一个表则是一张最基本的交叉表。
交叉表的特点是:
- 数据在横、纵两个方向扩展,即行、列均不固定
- 左边、上边都有一个表头,而中间是明细区。后面往往还有合计之类的。
有人会问,前面讲了纵向扩展的表,为什么没有讲只有横向扩展的表呢?实际上,大部分比较传统的报表工具,都不支持横向扩展,对于它们而言,纵与横是不对称的概念(和EXCEL完全不一样),而交叉表因为实际需求比较多,所以单独弄出一类。但比较新的发展是在报表工具中采用纵横对称的概念和类似于EXCEL的设计风格,从而很容易解决横向扩展的问题。