睿治
当前版本:2.7.2

垃链表组件

拉链表组件的主要功能是将前置输入的周期表转成拉链表,并根据当前组件设置的更新策略插入到当前组件选择的数据库表中。

1.界面

字段列表页面:

字段列表界面设置将要入库的表,并在字段映射中设置与输入字段的映射,字段列表的字段名称可以修改;

设置页面:

设置界面中源设置要设置输入的时间字段,关键字字段和比较字段,关键字字段和比较字段可以多选

关键字段:对应为组件配置页面的分组字段。

比较字段:除关键字段以外该表中其他的字段均为比较字段。

目标设置需要设置当前组件中的起始时间和结束时间字段。

更新策略有两种,一种是数据覆盖,会清空目标表,一种是插入更新,有对应的数据则更新,没有则添加。

2.应用场景

先清空表,然后将源的数据根据关键字字段和时间字段分组,时间字段排序,取每组的第一行,然后根据关键字字段和时间字段分组,时间字段排序,取下一行的时间-1为结束日期,最后插入到目标表中。

例如存在以下源表(正常数据)场景1:

关键字字段(合同)

比较字段(余款)

时间

1

100

20160101

1

100

20160115

1

90

20160131

转成拉链表后:

关键字字段(合同)

比较字段(余款)

起始时间

结束日期

1

100

20160101

20160130

1

90

20160131

Null

场景2(有相同关键字和相同时间,比较字段不同时的处理):

存在以下表:

关键字字段(合同)

比较字段(余款)

时间

1

100

20160101

1

90

20160101

1

80

20160131

该表转成拉链表属于脏数据,只取其中一行所以可能生成的拉链表有以下两种情况;

关键字字段(合同)

比较字段(余款)

起始时间

结束时间

1

90

20160101

20160130

1

80

20160131

Null

关键字字段(合同)

比较字段(余款)

起始时间

结束时间

1

100

20160101

20160130

1

80

20160131

Null

脏数据的定义:

1.源表中,如果有多条除了比较字段都相同的数据,则属于脏数据,取其中一条即可。

2.源表中,时间字段和周期对应不合法,属于脏数据。

数据覆盖场景:清空目的表,同上述场景一致。

更新插入场景:

首先对关键字段进行分组

2.1场景一:源表时间在目的时间之前

目标表:

关键字字段(合同)

比较字段(余款)

起始时间

结束时间

1

100

20160201

20160229

比较字段相同的源表:

关键字字段(合同)

比较字段(余款)

时间

1

100

20160111

1

100

20160101

转换成拉链表后:

关键字字段(合同)

比较字段(余款)

起始时间

结束时间

1

100

20160201

20160229


比较字段不同的源表:

关键字字段(合同)

比较字段(余款)

时间

1

90

20160101

转换成拉链表后:

关键字字段(合同)

比较字段(余款)

起始时间

结束时间

1

90

20160101

20160131

1

100

20160201

20160229


2.2场景二:源表时间在目的时间之间

目标表:

关键字字段(合同)

比较字段(余款)

起始时间

结束时间

1

100

20160101

20160131


比较字段不同:

源表:

关键字字段(合同)

比较字段(余款)

时间

1

80

20160111

转换成拉链表后:

关键字字段(合同)

比较字段(余款)

起始时间

结束时间

1

100

20160101

20160110

1

80

20160111

20160111

1

100

20160112

20160131


比较字段相同:

源表:

关键字字段(合同)

比较字段(余款)

时间

1

100

20160111

转换成的拉链表:

关键字字段(合同)

比较字段(余款)

起始时间

结束时间

1

100

20160101

20160131


附件列表

1

文档内容仅供参考
如果您需要解决具体问题,还可以登录亿信社区
在提问求助板块提问,30分钟内帮您解决问题

如果您认为本词条还有待完善,请编辑

上一篇元数据分析

下一篇

请先登录