如何一步到位将级联数据融合到自关联表?
概述
在本篇中,将接续上一篇使用GoldData已抓取的省市县这样的级联数据融合到数据库自关联应用表中,也就是将area级联数据集融合到自关联表area中,我们先看级联数据集字段和数据,以及area表结构,如下图所示:
这每一条记录与一条父记录存在关联,通常将数据导入这样的表,是个有挑战性的问题,在这里我们将看到如何在GoldData中轻松做到这一点。
创建融合映射
打开融合管理,选择数据集为"area",选择数据表"area",然后添加和编辑映射,将打开融合映射子页面,如下图所示:
我们将关联数据方式设为"不关联,数据追加"即可,然后选择保存。接下来我们需要配制字段映射。我们对各字段编辑如下:
area表字段 | 映射方式 | 映射area数据集内容 | 说明 |
---|---|---|---|
id | 编号,自增长字段,不用映射 | ||
name | 数据集字段 | name | 名称 |
code | 数据集字段 | code | 编码 |
abbr | 数据集字段 | abbr | 简写 |
pid | 数据表 | <见数据表映射脚本> | 父编号 |
数据表映射脚本如下图所示:
{
table:area
col:code
by:parent_code
get:id
display:name
afterJs:'''
var ret={};
if(searchByField && searchByField.code==entity.code){
}else{
ret={calcValue:calcValue,calcValueDisplay:calcValueDisplay}
}
ret
'''
}
这样我们的数据融合映射的配制已经完成了。接下来我们需要先启动GoldData融合作业中的手动融合,查看一下融合是否可进行。
开始数据融合
我们回到融合管理,选择融合作业,打开子页面后,再点击手动作业,进入手动融合作业子页面,如下图所示:
回到数据库中也发现了数据记录。如下图所示:
我们确认数据融合没问题,那么我们就可以回到融合作业,点击开始融合,则会进入到程序自动状态。这将很容易将3千多条数据导入到数据库表当中。
结尾
通过本篇GoldData对级联数据融合到自关联表的了解,你将会发现这项功能非常有用。因为很多现实世界中数据是这样的级联数据,也就是树状结构,比如分类数据、层级数据之类。