归集模型下的累计历史数据处理

  作者:姜玲
2007/4/11 17:11:35
本文关键字: ttnn 2006年07期

我行有一个考核系统,对客户经理的业务指标的考核采用的是归集的方式.首先定义一个客户经理和所管帐户的关系,该关系包含三个字段:帐号,客户经理号,所管比例.然后每天按照帐户中存放的从年初到现在的累计模拟利润进行归集,从而计算出某个客户经理为我行创造的模拟利润.

现在,这样的归集出现了问题,问题的来源在于,机构对客户经理的考核是按时间段进行的,我们现在的算法是,客户经理在某段时间的模拟利润=(这段时间结束的时间点的模拟利润-开始时间点的模拟利润).但是就是这个算法在实际应用中出现了大的问题:由于客户经理和帐号的对照关系是在变动的,而归集的数据是历史累计的,这样就会产生,当在某个归集期中客户经理和帐号对照关系有所变动的话,客户经理的指标就会产生一个突变,原因是系统将从年初到目前所有的累计数据在修改日一下子增加到了这个客户经理头上,当然也一下子从另外客户经理头上减少了.

事实上,有些客户经理的关系调整,并不是按照这样来处理的,而是从调整之日起的模拟利润增量才归某个客户经理,而调整日前的模拟利润仍归原有的客户经理.可见,以前的系统的设计是不适合这样的调整的.

那么,如何设计分段计算指标的系统呢,我想有两种方法

方法一:记录每次变动时的指标累计数,并标明应减,应加,客户经理每日的汇总仍按帐户最后的汇总数处理,然后在客户经理的指标上加,减变动值

方法二.帐户的模拟利润数据按日期记录,汇总客户经理值的时候按时间段汇总.
请大家帮着分析分析,这样一个系统采用哪个办法好呢,还是有别的办法.

Gao 20060717
我倾向于第二种方法,在客户经理和帐户的关系表中增加两个新的字段:

帐号,客户经理号,所管比例,开始时间,结束时间。

当前的客户经理和帐户的对应关系就是结束时间这个字段为空的那些记录。

当发生某一对应关系变动时,设置当前的对应的结束时间,然后增加一条新的对应关系。
这样,所有的对应关系更改全部保存于对应关系表中。对于后续计算以及历史记录回顾都有好处。

还请各位指正。

刘庆 20060718
我也认为这样的方法比较好,就是查询起来麻烦一些。我们现在项目的数据仓库中,那些保存历史信息的表几乎都是这样做的,通过"变更开始时间"和"变更结束时间"来确认一条当前有效记录。

Calduck 20060723
我也赞同这种方法,另外帐户利润表的事实粒度应该在"天"的级别,也就是针对每个账户每天给出一行记录,记载当天该账户取得的利润.

这样有利于事实表的粒度清晰明确不会出现汇总错误,并且便于和维度表的日期区间进行比较判断.尽量避免把"年初到今天"这样的累加性事实放到事实表的行里,至于这种累加的值完全可以通过把每天的利润汇总相加而计算出来.

如果经过以上这样的设计,那么某个经理在一个区间内的利润总额 =期初当天创造的利润 +......+ 期末当天创造的利润,这可以通过Sum方便的计算出来

 

责编:姜玲
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
畅享
首页
返回
顶部
×
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918