集成方案将扁平化数据同步为层级结构数据

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

集成方案将扁平化数据同步为层级结构数据


一 、背景

在某些场景,需要将扁平化的数据同步为带层级的结构化数据,例如以下有2个人员,但是其部门信息是拉平的,而其他信息是做了冗余。


同步完之后,需要形成带分录层级的结构数据,如图所示:


二 、解决方案

思路:通过集成方案视图来实现,先对原有数据对分组标识phone(手机号)进行group,之后再根据phone进行部门数据进行分录关联。

   1. 建立集成对象,同步表结构

    建立数据表类型的集成对象t_user_all_info,并进行同步

   2. 建立视图

   新建视图类型的集成对象v_t_user_all_info,并书写脚本,通过手机号进行分组,保存后进行同步。

select phone,number,username,gender,truename from t_user_all_info group by phone,number,username,gender,truename



   3. 建立目标集成对象

   我们选择同步到苍穹的人员对象,其集成对象bos_user


    4. 建立集成方案

  • 源对象选择视图v_t_user_all_info,目标对象选择bos_user。

  • 在高级设置页签新增【关系映射】,新增分录表,引用表对象t_user_all_info,并关联主表v_t_user_all_info

  •  在集成对象v_t_user_all_info需要勾选主键字段,否则会提示无主键字段

  • 对这个关系映射命名为v,则可以在字段映射中引用该对象。

    5. 创建启动方案并执行

    可以看到,执行成功的数据有2条


   6. 查看结果


三、第三方系统如何接入

    由于第三方系统一般是通过API调用,不支持group函数,如果要支持扁平化处理,建议先同步到中间表,然后再进行处理。


四、 注意事项

如果数据量比较大,且数据规范(表头字段统一),group性能可能会有问题,可以适当减少group字段,例如只保留手机号phone。

其他表头字段如username,number可以通过分录表v.username赋值,但是由于是分录表,需要加聚合函数[1],表明只取第一行。


五、相关资料

集成服务云整体介绍:https://vip.kingdee.com/article/216295445692592384?productLineId=29 


启动方案和sql脚本.zip

集成方案将扁平化数据同步为层级结构数据

一 、背景在某些场景,需要将扁平化的数据同步为带层级的结构化数据,例如以下有2个人员,但是其部门信息是拉平的,而其他信息是做了冗余...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息