回 帖 发 新 帖 刷新版面

主题:[原创]用报表来弥补数据库的不足------一、构建连续的月份

常常遇到这样的情况,数据库当中存储的数据都有一个时间戳。但是这个时间戳往往不是连贯的。例如我们下面将要提到的例子,比如一个员工业绩考核年报。假设一月份是假期,所有员工都没有业绩记录。那么按照普通的做法,在报表当中展示数据的时候,则不显示有一月这样一个月。
但是我们在查看数据的时候,往往希望一整年的数据是连贯显示的。但是这时,不可能通过修改数据库达到目的,就只能通过报表工具来弥补数据的不足。
下面是用FineReport做的一个例子:
[img]http://finesoftware.k13.23dns.net/picFforum/员工业绩统计表.png[/img]
该表的数据库结构很简单,共包含4个列,分别是编号,员工姓名,时间,业绩。按照普通的做法,就是将序号,员工姓名分别拖拽至单元格当中,设置纵向扩展。时间列设置横向扩展。数据放置到交叉的位置,也就是这是一个最简单的交叉表。
但是从效果图里面可以看到,1月是全部没有数据的。如果直接从数据库当中读取数据来展现,报表当中就不会有1月这一列。所以这里的连贯月份就需要我们用报表来实现。
在FineReport当中,有一个list的功能,也就是手工设置一串数据。这里我们就设置了一个list 从1到12。并且通过高亮将单纯的数字改成了1月,2月这样的形式。
然后当然,我们list出来的月份数据和统计数据需要通过关联达到准确计算的目的。这时候就需要在统计数据格子的过滤条件当中,添加关联的条件了。具体的大家可以参考附件的CPT文件。
因为是共享版面,所以无法直接上传附件,感兴趣的朋友可以留下自己的电子邮箱,然后我发到你的邮箱就可以咯~[em1]

回复列表 (共3个回复)

沙发


您好!我对您的这份资料很感兴趣,能否发到我的邮箱 mszfy@163.com
谢谢!

板凳

[quote]
您好!我对您的这份资料很感兴趣,能否发到我的邮箱 mszfy@163.com
谢谢![/quote]
邮件已发,请注意查收~

3 楼

呵呵,来顶顶帖子~

我来回复

您尚未登录,请登录后再回复。点此登录或注册