SAP基底数据仓库实战项目(从底层到前端完成一张数据报表(上))

SAP基底数据仓库实战项目(从底层到前端完成一张数据报表(上))

这次来学习实现一个从底层SAP系统,经过取数,建表,转换,读取新表,建立数据集,到加载数据上前端报表的一个过程。本次分享前三个步骤,每一个步骤都有需要注意的细节,慢慢消化。

完成一张资产负债表,大致的步骤有6步

  • 报表模板的制作
  • 根据SAP系统表结构,制作“资产负债表”相关数据逻辑(利用TCODE事务码查询,找到在SAP系统中运用到的底层表以及底层表关系,的方法,较有考究,另一期写)
  • SAP系统与“资产负债表”相关底层表抽取
  • 根据业务需求,按照需求维度进行报表数据清洗,抽取
  • 根据数据逻辑,拼接制作“资产负债表”的EDW层,DWS层相关FACT,KI表
  • 制作数据集,加载数据完善报表

运用到的工具(这里运用的是帆软的Finereport报表系统)

  • SAP生产机FI财务模块
  • Windows2008R2服务器,Oracle数据库
  • Kattle7.0/8.0
  • 帆软报表设计器Finereprot

一.报表模板的制作

完成一张报表,第一步就是需要拿到报表的模板。
这次以财务模块为例,财务一般都会有“资产负债表,利润表,现金流量表” 这三张报表,这次选取资产负债表为例。

在这里插入图片描述
上面是一张SAP资产负债表得基本表样,一般的SAP系统都会准寻此表做企业集团的数据统计。资产负债表是反映企业在某一特定日期(如月末、季末、年末)全部资产、负债和所有者权益情况的会计报表,是企业经营活动的静态体现,主要表现暂有的经济资源等情况。
在这里插入图片描述

为了更快得实现数据的加载,以上便是我们最后加载到报表上面得数据集表样,与常规资产负债表表样需要基本一致。所以制作报表模板可基本按照普遍资产负债表一样即可。

二.通过TCODE查询SAP中构成资产负债表的表结构与表关系

需要从SAP中获得相对应的成型表结构,需要得到组成此成型表的底层表(也就是系统底层的数据库表)。在数仓结构层中为最底层的ODS表。
此次的资产负债表中,此次得到的TCODE(TCODE可由相关企业提供)为“ZFI_ZCFJ”,对应资产负债表。
由TECODE查询SAP的数据库底层表,从而获得底层表名以及表关系(如何从TECODE获得表面以及关系,往后更深入学习会继续分享)。
在这里插入图片描述

经过查询得到以上的表关系,其中“FAGLFLEXT”为常见的SAP中的总账科目表,总账科目SAP表是一个非常重要的数据库表,经常用到这个表来出一些跟科目发生额和科目余额相关的报表,简单地说,企业集团的年,月资金总账的分类集合,许多股东,高层常看数据都可从此处得出。

在这里插入图片描述

第二张上部分为通过表结构组成后的“选择屏幕字段”,也就是在SAP中显示的查询页面所有的查询条件。如下图SAP种的选择查询样式。
在这里插入图片描述

数据逻辑下部分为SAP中查出来的表样,以及表中的每个科目字段的取值规范。如“货币资金”,右边对应的便是科目号,科目号存在对应的SAP底层数据表里面。
tips:资产类期末起初金额,会有相对应的计算方式。

三.相关底层表抽取

根据SAP字典或业务中,得到资产负债表的底表,“FAGLFLEXT”,又称总账汇总表,是一张相当重要的数据库表,在开发中经常用到这个表来出一些跟科目发生额和科目余额相关的报表。

可以利用kattle工具连接上SAP或相关测试数据库(一般开发过程企业集团不会让直连生产环境),拉出一个表输入,做数据表测试

SELECT COUNT(*) FROM 相关模式名.FAGLFLEXT

在这里插入图片描述

可以先查询表预览到底有多少行,在进行 SELECT * 的操作,因为在kattle中浏览超过万条数据,就会内存卡顿了。当然,最好能本机相关工具(NAVICAT等)连上数据库,就能省挺多麻烦。(而有线跟无线连接也是会有相当大的差别)简易过程图下:

1.利用表输入查询取得表结构

直接表输入select * 预览成功后确定。
在这里插入图片描述

2.连接一个表输出,利用表输出拿到表结构

在这里插入图片描述

3.拿到表结构,复制表结构,作表创建脚本

点击SQL后,拿到语句进行表创建
在这里插入图片描述

另外建立一个脚本,拉取一个表创建。复制,修改后,执行表创建脚本。
在这里插入图片描述

4.进行表脚本抽数

修改表脚本的表输入,讲 * 更换为创建表的字段,设置好字段类型
在这里插入图片描述

表输出则勾上裁剪表和指定数据字段,点击获取字段,一一对应字段
在这里插入图片描述

开始启动抽取数据,完成。
在这里插入图片描述

总结

至此,前三步我们都慢慢的完成了,在每一个步骤中,都有不少需要注意切重要的细节,往往某步骤中遇到出错的问题,就是因为不注意某细节所导致。本次分享就到这里,很快就会进行下一次分享。

TIPS:
1.财务三表依照国家规定都会有相同的科目,指标和维度。在进行报表制作时,企业在某项目没有金额或为空,都同样要按照顺序将科目按顺序排列展示。

2.获得相关数据逻辑的方法:获得SAP相关事务码和企业需求——利用事务码查询相关SAP开发程序——从程序中获取相关表结构和表关系(最难的就在于 如何获取程序和解读程序)

3.在进行地表抽取时,注意底层系统所运用到的数据库,如Oracle中查询,要加上相关模式名才能从Kattle中查询表,若为SQLserver则在表输出中,可不需要选择模式名进行数据抽取。根据不同的数据库有不同的写法。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值