1 数据现状

项目合同相关表目前都存储在OA系统同一个数据库中,具体如下:

2 方案说明

1、将数据同步、复杂sql处理等步骤放在数据开发平台中进行,对OA系统中的业务数据进行如下处理:
1)将项目合同相关数据原表原样同步至 qyyy_originaldata 应用库,形成ODS层数据;
2)将ODS层的项目基本信息表依次与合同管理表、收费计划表、开票管理表、收款登记表进行逐一关联处理产生具有完整周期的项目合同明细表,并输出到 qyyy_originaldata 应用库,形成DW层数据。
3)对DW层数据xx进行汇总,产生xx数据,并输出到 qyyy_originaldata 应用库,形成DM层数据。
2、在数据开发平台中,通过将任务设置为周期调度,保证该数据定时更新到 qyyy_originaldata 应用库。
3、使用 lczreport 设计器连接 qyyy_originaldata 应用库,使用简单SQL语句获取处理后的DW层数据,制作即席查询模型;获取处理后的DM层数据,制作报表。

3 实现步骤

3.2 构建ODS层数据

根据业务要求,需要将需要使用的业务数据原表原样均同步至指定数据库。
以“合同管理”为例,添加[数据同步]组件,进行数据来源和数据去向配置:
1)数据来源配置

数据源选择“OA”数据连接,配置方式使用“表/视图”方式,选择OA系统中的合同管理表“jn_oa_htgl”即可。
点击“数据预览”可查看对应的数据,如下图:

2)数据去向配置

将同步的数据同步至目标库“qyyy_originaldata”中的“oda_htgl”表,可选择自建表的方式直接创建该表,配置源表和目标表的映射关系以及写入方式(数据量不大,选择“插入/更新”即可)。
以同样的方式,将合同管理表、收费计划表、开票管理表、收款登记表同步至目标库对应表中,至此,ODS层数据就构建完成了。

3.3 构建DW层数据

将ODS层的项目管理表(通过“基础数据维护”章节同步至目标库中的数据)、合同管理表、收费计划表、开票管理表、收款登记表进行关联和处理,最终生成“项目合同明细”数据(即DW层)。具体步骤如下:
添加[项目合同明细]数据转换节点,如下图:

双击进入[项目合同明细]设计界面,设计效果如下:

具体实现步骤如下:
1、读取ODS层数据作为输入源
添加四个[DB输入]节点分别获取至ODS层对应表中需要的数据,以“项目基本信息”为例,配置如下:

由于需要获取的是“ods_xmjbxxgl”表中部分字段数据,所以需要使用“SQL”配置方式,通过对应的SQL语句获取想要的数据。
点击”数据预览”预览获取的数据,如下图:

2、将ODS层数据逐一进行关联处理,产生项目合同明细数据
添加“SparkSQL”节点“项目合同1”,与“项目基本信息”、“合同管理”进行连接,将项目和合同信息进行关联,如下图:

以此类推,将两个表关联查询的结果再与另一张表进行关联,最终产生“项目合同明细”数据,预览数据如下图:

得出的是所有项目从合同、收费计划、开票记录到收款登记的完整周期进展情况。
最后需要添加一个“DB输出”节点“项目合同明细”,将处理后的数据输出至qyyy_originaldata 应用库的“dw_xmht”表中,如下图:

3.3 构建DM层数据

将DW层的“项目合同明细”进一步处理后,产生实际业务中需要使用的项目金额汇总数据(即DW层数据)。具体步骤如下:
添加[数据转换]节点“项目金额汇总”,与DW层“项目合同明细”节点进行连接,如下图:

双击进入设计界面,设计效果如下:

具体步骤如下:
1、分别获取每个项目不同环节的总金额
添加四个[DB输入]节点:合同金额、计划金额、开票金额和收款金额,要实现的是通过DW层产生的“项目合同明细”的数据分别与ODS层的项目合同、收费计划、开票、收款数据进行关联汇总,得出每个项目对应环节的总金额。
以“合同金额”为例,添加[DB输入]节点“合同金额”,配置如下:

需要将项目合同与项目合同明细进行关联并汇总,所以要使用SQL方式输入对应的SQL语句获取数据。
点击“数据预览”查看查询的数据,如下图:

以同样的方式,分别获取到项目对应的收费计划、开票和收款金额汇总数据。
2、将不同环节金额合并产出项目各环节金额汇总数据
1)增加[SparkSQL]节点“项目金额汇总”,与“合同金额、计划金额、开票金额、收款金额”节点连接,将以上数据汇总在一张明细表中,配置如下图:

预览数据效果如下:

2)增加[DB输出]节点,与“项目金额汇总”节点连接,将最终汇总的项目金额数据输出到qyyy_originaldata 应用库的“dm_xmje”表中(写入方式选择“清空表后再添加”),产生DM层数据,如下图:

4 数据应用

1)通过“数据开发平台”处理后的DW层“项目合同明细”数据,可直接用于制作即席查询模式,用户可按需查看不同维护的汇总数据。效果如下图:

2)通过“数据开发平台”处理后的DM层“项目金额汇总”数据,可直接制作报表看板进行查看。效果如下图:

作者:fancy  创建时间:2024-07-01 19:29
最后编辑:fancy  更新时间:2025-03-27 15:47