修改数据节点使用说明

1. 简介

本文将对 修改数据节点 的配置步骤、执行逻辑等进行介绍,以帮助用户更好地理解和使用修改数据节点。

什么是(赋值)数据源?

简单来说,数据源是数据的源头,可以向外提供数据以供其他操作使用。例如,在赋值操作中,等号的左侧为要被赋值的字段(目标数据字段),右侧为赋值数据源字段(负责提供数据来赋值给目标字段)。

在智能助手Pro 中,部分节点在执行后会存储得到的数据,以供后续节点使用。因此,一个节点便可认为是一个数据源,可以用于赋值等操作。详情参见:【新手入门指南 5.基础词汇

2. 配置步骤

在修改表单数据时,通常需要明确三个关键操作,才能得到正确的修改效果,即想要把哪些行哪些列改成什么值。同样,在修改数据节点中,也需要进行如下 3 项配置:

1)筛选出要修改的数据(哪些行):设置过滤条件,将符合条件的主数据全部过滤出来;

2)设置字段值(哪些列,改成什么值):指定要修改的列,并设置其相应的新值;

3)设置目标数据与数据源间的匹配关系/修改条件:若步骤 2)中修改了子表单/多条数据的值,则需要建立数据源与目标数据间的 1:1 / 1:N 关系,使得修改时,数据源中的每条数据都能够准确找到对应的目标数据并修改。

为什么还需要建立 1:1 / 1:N 关系?,说明如下:

步骤一仅是将目标数据过滤出来,并未建立与数据源间的关联,则,在取数据源中的数据去修改目标数据时:

若目标数据只有一条,数据源中也只有一条数据时,节点会自然地拿一条数据去修改一条数据。

目标数据有多条,数据源中有一或多条数据时,节点就不知道该拿哪一条数据,去修改哪一条或哪几条数据。

因此,需建立数据源与目标数据间的 1:1 / 1:N 关系,使得节点在拿到一条数据后,知道应该去修改哪些数据。

注:

1)由于子表单中可有一或多条数据,在修改数据节点中将统一视为「多条数据」处理;

2)若未出现步骤 3 的配置项,则说明不需要配置,仅参考步骤 1、2 进行配置即可。

3. 执行逻辑

完成上述配置后,修改数据节点便能够正确执行。且不同修改方式下的执行逻辑不同,具体如下:

3.1 修改已有数据

1)逻辑说明

第一步:获取到数据源数据后,根据过滤条件,从目标表单中过滤出符合条件的主数据;

  • 能过滤出数据,进入第二步;
  • 未能过滤出数据,结束执行。

第二步:从数据源中取出一条数据,根据匹配关系/修改条件设置,找到目标数据中的一或多条主/子数据;

  • 能找到对应数据,进行相应修改即可;
  • 未能找到对应数据,则不进行修改操作。

接着,循环执行步骤二,直到遍历完数据源中的所有数据后,结束执行。如下图所示:

2)效果演示

注:本节仅演示节点的执行逻辑,表单搭建和节点具体配置等内容请参考:使用子表数据修改子表数据

以修改订单号为 JDY-001 的订单数据中,外套、毛衣商品的订货数量为例,对节点的执行逻辑进行演示:

  • 第一步:通过过滤条件,筛选出订单号为 JDY-001 的整条数据。如下图所示:

  • 第二步:取出数据源中的一条数据,根据匹配关系设置,若能匹配到对应目标数据,便可进行修改,如:
    • 取出「商品名称为外套」的数据后,能够在目标数据中匹配到「商品名称为外套」的数据,可进行修改。

    • 取出「商品名称为毛衣」的数据后,无法在目标数据中匹配到「商品名称为毛衣」的数据。此时,将忽略该条数据,不做修改。

3.2 修改或新增数据

「修改或新增」相对于「修改已有数据」的区别是,在未过滤出/未匹配到要修改的数据时,不会结束执行,而是根据当前的数据源,直接向目标表单中新增数据。具体如下:

3.2.1 逻辑说明

第一步:取到全部数据源数据后,根据过滤条件,从目标表单中过滤出一或多条主数据;

  • 能过滤出主数据,则进入第二步;
  • 未能过滤出主数据,则直接根据数据源,向目标表单中新增对应数据,不再进行第二步。

第二步:从数据源中取出一条数据,根据匹配关系/修改条件设置,找到目标表单中的一或多条主/子数据;

  • 能够找到对应数据,进行相应修改即可;
  • 未能找到对应数据,则根据该条数据,向目标表单执行新增操作;

接着,循环执行步骤二,直到遍历完数据源中的所有数据后,结束执行。如下图所示:

3.2.1 效果演示

注:

1)本节仅演示执行逻辑,表单搭建和节点具体配置等内容请参考:使用子表数据修改或新增子表数据

2)本节仅讲解「未过滤出/未匹配到要修改的数据」时的新增数据场景,其余修改场景下的执行逻辑与「修改已有数据」相同,不再赘述。

示例场景:在修改或新增「订单表」中某一订单的商品明细时,能够同步修改「回款跟进表」中对应的回款计划。

当「回款跟进表」中只有一条订单号为 JDY-001 的数据时,不同数据源的执行效果不同,具体如下:

1)新增场景一

修改「订单表」中订单号为 JDY-002 的数据后,触发了「智能助手Pro」。则,在执行第一步时,无法从「回款跟进表」中筛选出订单号为 JDY-002 的数据:

将会直接新增一条主数据,如下图所示:

2)新增场景二

修改「订单表」中订单号为 JDY-001 的数据后,触发了「智能助手Pro」。则,执行到第二步时:

  • 商品编码为 SJ-001、PJ-001 的数据源,可以在目标数据中匹配到商品编码一致的数据,能够进行修改操作。

  • 商品编码为 SJ-002 的数据源,未能在目标数据中匹配到商品编码一致的数据,将直接在目标数据子表单中新增一条子表数据:

最终,修改了两条子表数据,新增了一条子表数据,效果如下图所示:

4. 匹配关系说明

4.1 逻辑说明

当修改了多条目标数据,且赋值数据源与目标数据为多对多关系时,需要设置匹配规则,建立起两者间的 1:1 或 1:N 关系。

如何设置匹配规则呢?根据实际需求,组合目标表单中的一或多个字段,建立起一个联合索引即可。这样,数据源便可利用该索引,来查找对应的目标数据。

以批量更新用户联系方式为例,可以设置匹配关系为目标数据.用户ID「等于」数据源.用户ID,建立起数据源与目标数据间的 1:1 关系,使得新表中的每条数据能够通过用户ID找到底表中对应的用户数据并修改。

4.2 具体场景

在如下字段值配置场景中,目标数据与赋值数据源间为多对多关系,需要设置数据匹配关系。

注:在使用上述表格前,请先参考【新手入门指南 5.基础词汇】了解什么是单值、多值数据源/字段。

修改对象类型

主字段被修改为

子表单字段被修改为

选择表单修改数据

多值字段:

  • 单值数据源的子表字段
  • 多值数据源的主字段

不可修改

选择节点修改数据(节点为单值数据源)

无需设置匹配关系。

选择节点修改数据(节点为多值数据源)

匹配关系的逻辑与具体场景与「选择表单修改数据」完全一致。

以表中高亮部分场景为例,进行详细讲解。例如,当修改对象为「选择表单修改数据」,并将「目标数据的主字段」修改为「单值数据源的子表字段」时,由于:

  • 选择表单修改数据时,可从目标表单中过滤出 0~N 条数据,统一视为多条数据处理;
  • 使用节点子表字段进行赋值时,由于子表单中可有一或多条数据,统一视为多条数据处理。

此时出现了多对多关系,因此需要设置数据匹配关系。

5. 修改条件说明

5.1 逻辑说明

在如下场景中,需要设置修改条件,建立起数据源与目标数据间的 1:1 或 1:N 关系,使得节点知道,该过滤出子表单中的哪些子数据行供修改。

  • 将子表单数据修改为单一值时;
  • 当修改了子表单数据,且赋值数据源与子表单数据为多对多关系时。

以「将子表单数据修改为单一值」为例,在修改学生 A 的英语成绩时,可以设置子表单修改条件为子表单.科目「等于」英语,仅过滤出英语科目的数据供修改。

5.2 具体场景

在如下字段值配置场景中,需要设置子表单修改条件。

注:在使用下述表格前,请先参考【新手入门指南 5.基础词汇】了解什么是单值、多值数据源/字段。

修改对象

主字段被修改为

子表单字段被修改为

设置原因

选择表单修改数据

单值字段或未配置

  • 单值数据源的主字段
  • 自定义值
  • 空值

单值字段

  • 单值数据源的主字段
  • 自定义值
  • 空值

将子表单数据修改为了单一值

多值字段

  • 单值数据源的子表字段
  • 多值数据源的主字段

赋值数据源与子表单数据为多对多关系

选择节点修改数据(节点为单值数据源)

单值字段或未配置

  • 单值数据源的主字段
  • 自定义值
  • 空值

单值字段

  • 单值数据源的主字段
  • 自定义值
  • 空值

将子表单数据修改为了单一值

多值字段

  • 单值数据源的子表字段
  • 多值数据源的主字段

赋值数据源与子表单数据为多对多关系

选择节点修改数据(节点为多值数据源)

匹配关系的逻辑与具体场景与「选择表单修改数据」完全一致。

以表中高亮部分场景为例,进行详细讲解。即,当修改对象为「选择表单修改数据」,并将「目标数据的子表字段」修改为「单值数据源的主字段」时,由于:

  • 修改子表单数据时,子表单中可能有一或多条数据;
  • 单值数据源中仅有单条数据,其主表字段为单值;

此时可能会将多条子表单数据修改为单一值,因此需要设置修改条件,仅对特定的子表单数据进行修改。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验