Data Service-创建一个时间维度表
写在前面:
本篇文章介绍利用SAP Data Service 创建一个时间维度表的过程.
准备工作:
SAP Data Service(本人使用的是4.2版本)
具体步骤:
步骤一:
建立一个项目及Batch Job
步骤二:
双击步骤一中建立的Batch Job,在右侧界面中新建一个Data Flow
组件,新建方式可选择从最右侧组件列表中拖取
(第三个),也可选择在右侧界面中直接右键,选择出来列表中的”ADD NEW” ,选择相应的部件即可。新建好后双击新建的Data Flow
组件,进入Data Flow的界面
步骤三:
选择软件界面左下角第五项即Transforms,在Transforms界面中展开第一项”Data Integrator”,选择第二项”Data_Gentration”将其拖动到步骤二中展开的Data Flow界面。
步骤四:
在Data Flow界面中,双击上一步拖来的”Data_Gentration”,进入设置界面,在这一界面可以选择想要创建的时间维度表的开始和结束时间,并选择增量。这里我选择的开始时间是2010.01.01,结束时间为2017.06.01,增量选择Daily,即按日期为增量。根据需求还可以选择月份,年等。
步骤五:
与在SAP Data Serice抽取数据到HANA一样,在Data Flow中新建一个”Query”组件,和一个”Template Table”组件,并按图连接
步骤六:
双击”Query”组件,进入设置界面,将左侧的属性选中拖入右侧即可,根据实际情况可对右侧列表中的属性进行设置,如修改名字,设置为主键等。设置好后,右键本J0b,选择Excute
即可,运行成功后,最简单的时间维度表即可完成。
步骤七:
因在时间维度表中只有一个日期属性一般不能满足需求,所以一般还需要添加别的属性,例如主键ID,年份,月份,周等。此时,我们可直接在上图右侧选中行上右键,选择New Output Column ,点击后在弹出的选项中选择位置,此时可选位于当前选中行上一行还是下一行。
选中后出现下图界面,按照图中要求设置你想要添加的属性名,类型,以及是否设为主键。
步骤八:
添加主键;按照上图,我在这里添加了一个ID主键,其设置类型为int,并将其设为主键,接下来要做的是为其添加主键数据,此时在下方截图界面的最下方输入计算式,计算式写好后点击截图中红笔圈中部位验证其正确性。此时,主键完全设置成功。
PS:此时可采用多种计算方式,这里介绍两种,一种是采用gen_row_num(),该方法产生的主键是从1开始递增排列的。还有一种是采用julian(),该方法产生的主键是国际通用主键。这里采用第二种。
步骤9:
设置年份(月份);同上,增加一个年份的属性,设置计算式步骤:
单击上图中的Functions 按钮,在弹出界面中选择”Data Function”,并选择year后下一步
选择input date后点击完成。
步骤十:
运行该Job,可看到运行结果为Successfully,点击下图对应表下方的放大镜可以看到所产生的时间维度表数据: