实现过程-复杂多步计算报表方案
目录

实现过程

第一步:设计建立中间表结构

底层多张业务表,最终将整合为若干张中间表,中间表将作为最终“工资表”的取数来源。

初始底层的业务表包括:员工基本情况表、人资信息表、淡旺季提成率表、剩货率目标表、销售数据表、不计剩货品项表、定店出勤表,替班表等,表结构的设计参考业务数据库,可直接从业务数据库中获取这部分基础数据。

中间表设计结果如下:

工资信息表:


 

绩效表:

第二步:按计算逻辑制作每一步的填报表

产品提供的填报表具有来取无关的特性,报表展现取数来源来自于底层业务表,报表回填的数据源为设计好的中间表。

经过填报表处理后的数据流向如下图: 

 

填报表设计(取数)如下图:
 

在填报表中设置报表的计算逻辑,按照业务逻辑设置各个字段的计算逻辑,将业务逻辑转换成技术语言,控制数据的真实性,例如:剩货达成率,是根据实际剩余率/剩货率目标的值去计算补贴金额,综上业务逻辑,转换成技术语言为:((当月剩货金额-当月不计剩货金额)/发货金额)/(剩货额目标/(剩货额目标+销售计划));

填报表设计(回填)如下图:

最后,将从业务表中抽取的经过逻辑运算的结果,通过BS设计器中的填报设置,将页面上各个字段跟中间表各字段一一匹配,达到最终存储数据到中间表中供工资表直接调用的目的。

注意:如果提成表中数据需要填写回多个中间表中,设置多个更新即可。

第三步:建立调度任务,执行填报表,完成数据加工抽取

在调度任务界面中,通过定制任务名称,报表的执行周期(单次,周,月等),结果输出方式,执行报表所需参数等选项,即可让报表定时去各个业务表中收集当月数据并回填到中间表中。


 

注意:可根据实际需求去设置调度任务执行周期和频度,如果有数据实时性要求亦可手动执行调度任务

第四步:建立最终的统计报表

经过了前三步,已经收集到了当月工资表所需的基础数据,可以进行工资表数据的分析、计算,汇总。

在类Excel设计器中按照Excel表样设计报表后,通过从不同的中间表中拖拽基础数据,完成表样的绘制,简单的进行相关设置,例如数据的预警,校验等,即可完成最终的工资表。