做报表的一些注意事项,请大家一起提出来

0
许多工作都是完成报表,有了数据就需要按照各种要求完成报表;一些是软件的要求,一些是后期客户的要求。做不完的报表,层出不穷的报表,也是解决不完的问题。我想整理一下做这些报表的需要注意的事项,或者基本的原则。
我先提供一个例子:
例如需要完成一个报表,有一个按月的业务数据

月份 部门 收入
2013-01 开发部 300000
.......

需要完成这样的一个报表:
部门 当年收入 去年收入 增长率 增长额

正确的写法可能是:

select year(a.月份) 年份,a.部门,sum(a.收入) 当年收入,

sum(b.收入) 去年收入,sum(a.收入) - sum(b.收入) 增长额
from (
select a.,b.
from table as A left join table as b
on a.月份= b.月份 + 一年
) as tableS
group by year(a.月份)

注意:year这个函数是我杜撰的,其功能是取得年份

这样的实现,当查询的时间没有到年底的时候,保证了当年数据和上年数据包含的月份是一样的。例如:当前是2013年10月份,当年收入肯定是2013年1月--2013年10月份的,相应去年收入也是这样一个时段,保证了数据的一致性。

相反,如果现将业务数据按年合并汇总后,再关联产生需要报表的样子,就会出现去年的数据是一年合并的,本年度确是几个月的情况,导致错误。


这样的经典问题,层出不穷,有没有遇到过?或者说已经有人整理过了,请大家跟帖提供
已邀请:
0

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2013-12-11 回答

每当新的一年出来的时候无论后面的月份表有没有数据,先把各个月的记录插入,即使数据值为空或者0,后面的月份数据只在这个基础上做更新,这样就能保证所有基于月份的条件关联是可以查出数据来的。比如2014年10月份时,实际上全年的基于月份的数据已经创建好了,只不过为空或者为0,后面的数据进来就根据月份来更新。
0

housheng33 - 专注金融BI http://blog.csdn.net/housheng33 2014-04-11 回答

1、出这样报表的含意写在最前面。让用户要理解出这张报表的意思。例如2013年没过完,就统计年数据,显然是没有意义的

2、提供追溯功能,用户看到这个值后往下追下去看看是什么原因引起的!

要回复问题请先登录注册