继续上次的从SAP底层到前端完成一张报表的分享。回顾流程,完成一张资产负债表大致分六个步骤:
- 报表模板的制作
- 根据SAP系统表结构,制作“资产负债表”相关数据逻辑(利用TCODE事务码查询,找到在SAP系统中运用到的底层表以及底层表关系,的方法,较有考究,另一期写)
- SAP系统与“资产负债表”相关底层表抽取
- 根据业务需求,按照需求维度进行报表数据清洗,抽取
- 根据数据逻辑,拼接制作“资产负债表”的EDW层,DWS层相关FACT,KI表
- 制作数据集,加载数据完善报表
前面我们完成了对前三步骤,对数据地城表 “FAGLFLEXT” 总账汇总表底表的抽取。ODS层总账表的创建表脚本,抽数脚本保存好。
四.根据业务分析表维度
查看资产负债表,查看表结构
资产负债表的,查询结构中展现的四个维度,公司代码,利润中心,会计年度和会计月份,选择不同的维度,查询出来的数据会不一样,具体问题具体分析。
例:只选择公司代码,会计年度,月份时,就是每个公司的每个年月所有的利润中心的汇总,当选择利润中心时,则显示的数据为某公司的某利润中心,某年月的数据。
而本次根据业务表需求,了解到本项目的资产负债表查看方式以公司最终单位。
五.根据数据逻辑,拼接制作EDW层,DWS层相关FACT,KI表
一个数据仓库的分层实现,并非一定得按照严格的分层制度,我们需要通过不断对企业集团做数据质量检查,再评估数据仓库的分层结构和层次规模。
例如:一个全公司某业务模块一年的数据量只有80W条,若只对本模块做数据仓库分层,个人认为最多只需三层:
ODS层(数据源) → EDW层(业务事实表结构)→ DWS/DWM(业务系统表层/数据集市层)
最少两层: ODS层(数据源) → EDW层(业务事实表结构)
个人人为:不仅评估一个企业集团的数据量大小和质量的好差,还能从业务系统方面进行评估。如国内大部分的用友U9,TSCRM大部分的国内ERP或CRM系统,对某模块的业务结构规模并不大,数据加载操作的过程也愈发“傻瓜式”,所以数仓分层也可根据系统业务需求或国内外的业务过快进行评估。
本次SAP为国外且许多公司都常用到的系统,所以对于数仓的分层需要极为严格。
本次分层为:
ODS层(数据源) → EDW层(业务事实表结构)→ DWS/DWM(业务系统表层/数据集市层)
资产负债表的底表,科目总帐表已经抽取过来,接下来就是根据数据逻辑拼接表结构。根据SAP业务系统的数据表逻辑关系得到品表关系
将业务所需要的表字段抽取出来,通过kettle做业务事实表转换。
当FACT事实表出来后,再根据SAP系统原有表样和开发程序的逻辑,制作对应的DWS/DWM层的KI表。
脚本的编写需要经过初期的编写测试,抽数调试,索引优化等步骤。
六.制作数据集,加载数据完善报表
最后一步便是制作前端数据报表,利用finereport设计七进行报表制作,再进行数据检查。
拉取数据集加载数据
至此,一张从SAP底层系统到新的数据决策系统的BI只能报表就完成了。
剩下的还需求进行数据的校对和查询。
一张完整的数据只能报表,是建立在完好的数据质量上,已业务逻辑为基础,数据质量为核心。所以,无论在参与任何项目时:
1.连接需求业务模块,业务系统的具体操作,模块细节。
2.评估系统对应的设备完整性,兼容性。
3.数据质量的评估最终形成业务开发,需要经过多次的调研。
感谢看到这里,大家一起分享,学习。