修改資料節點使用說明
簡介
本文將對修改資料節點的配置步驟、執行邏輯等進行介紹,以幫助使用者更好地理解和使用修改資料節點。
配置步驟
在修改表單資料時,通常需要明確三個關鍵操作,才能得到正確的修改效果,即想要把哪些行的哪些列,改成什麼值。同樣,在修改資料節點中,也需要進行如下 3 項配置:
1. 篩選出要修改的資料(哪些行):設定過濾條件,將符合條件的主資料全部過濾出來;
2. 設定欄位值(哪些列,改成什麼值):指定要修改的列,並設定其相應的新值;
3. 設定目標資料與資料源間的匹配關係:若步驟 2)中修改了子表單/多筆資料的值,則需要建立資料源與目標資料間的 1:1 / 1:N 關係,使得修改時,資料源中的每筆資料都能夠準確找到對應的目標資料並修改。
為什麼還需要建立 1:1 / 1:N 關係?,說明如下:
步驟一僅是將目標資料過濾出來,並未建立與資料源間的關聯,則,在取資料源中的資料去修改目標資料時:
若目標資料只有一條,資料源中也只有一筆資料時,節點會自然地拿一筆資料去修改一筆資料。
當目標資料有多條,資料源中有一或多筆資料時,節點就不知道該拿哪一筆資料,去修改哪一條或哪幾筆資料。
因此,需建立資料源與目標資料間的 1:1 / 1:N 關係,使得節點在拿到一筆資料後,知道應該去修改哪些資料。
附註:
1. 由於子表單中可有一或多筆資料,在修改資料節點中將統一視為「多筆資料」處理;
2. 若未出現步驟 3 的配置項,則說明不需要配置,僅參考步驟 1、2 進行配置即可。
執行邏輯
完成上述配置後,修改資料節點便能夠正確執行。且不同修改方式下的執行邏輯不同,具體如下:
修改已有資料
1. 邏輯說明
第一步:取得到資料源資料後,根據過濾條件,從目標表單中過濾出符合條件的主資料;
- 能過濾出資料,進入第二步;
- 未能過濾出資料,結束執行。
第二步:從資料源中取出一筆資料,根據匹配關係設定,匹配到目標資料中的一或多條主/子資料;
- 能匹配到對應資料,進行相應修改即可;
- 未能匹配到對應資料,則不進行修改操作。
接著,循環執行步驟二,直到遍歷完資料源中的所有資料後,結束執行。如下圖所示:
2. 效果演示
附注:
本節僅演示節點的執行邏輯,表單搭建和節點具體配置等內容請參考:使用子表資料修改子表資料。
以修改訂單號為 Jodoo-001 的訂單資料中,外套、毛衣商品的訂貨數量為例,對節點的執行邏輯進行演示:
- 第一步:通過過濾條件,篩選出訂單號為 Jodoo-001 的整筆資料。如下圖所示:
- 第二步:取出資料源中的一筆資料,根據匹配關係設定,若能匹配到對應目標資料,便可進行修改,如:
- 取出「商品名稱為外套」的資料後,能夠在目標資料中匹配到「商品名稱為外套」的資料,可進行修改。
- 取出「商品名稱為毛衣」的資料後,無法在目標資料中匹配到「商品名稱為毛衣」的資料。此時,將忽略該筆資料,不做修改。
修改或新增資料
「修改或新增」相對於「修改已有資料」的區別是,在未過濾出/未匹配到要修改的資料時,不會結束執行,而是根據當前的資料源,直接向目標表單中新增資料。具體如下:
1. 邏輯說明
第一步:取到全部資料源資料後,根據過濾條件,從目標表單中過濾出一或多條主資料;
- 能過濾出主資料,則進入第二步;
- 未能過濾出主資料,則直接根據資料源,向目標表單中新增對應資料,不再進行第二步。
第二步:從資料源中取出一筆資料,根據匹配關係設定,匹配到目標表單中的一或多條主/子資料;
- 能夠匹配到對應資料,進行相應修改即可;
- 未能匹配到對應資料,則根據該筆資料,向目標表單執行新增操作;
接著,循環執行步驟二,直到遍歷完資料源中的所有資料後,結束執行。如下圖所示:
1. 效果演示
附注:
1. 本節僅演示執行邏輯,表單搭建和節點具體配置等內容請參考:使用子表資料修改或新增子表資料;
2. 本節僅講解「未過濾出/未匹配到要修改的資料」時的新增資料場景,其餘修改場景下的執行邏輯與「修改已有資料」相同,不再贅述。
範例場景:在修改或新增「訂單表」中某一訂單的商品明細時,能夠同步修改「回款跟進表」中對應的回款計劃。
當「回款跟進表」中只有一條「訂單號」為 Jodoo-001 的資料時,不同資料源的執行效果不同,具體如下:
1. 新增場景一
修改「訂單表」中訂單號為 Jodoo-002 的資料後,觸發了「智慧助手 Pro」。則,在執行第一步時,無法從「回款跟進表」中篩選出訂單號為 Jodoo-002 的資料:
將會直接新增一條主資料,如下圖所示:
2. 新增場景二
修改「訂單表」中訂單號為 Jodoo-001 的資料後,觸發了「智慧助手 Pro」。則,執行到第二步時:
- 商品編碼為 SJ-001、PJ-001 的資料源,可以在目標資料中匹配到商品編碼一致的資料,能夠進行修改操作。
- 商品編碼為 SJ-002 的資料源,未能在目標資料中匹配到商品編碼一致的資料,將直接在目標資料子表單中新增一條子表資料:
- 最終,修改了兩條子表資料,新增了一條子表資料,效果如下圖所示:
匹配關係說明
在設定待修改的資料與資料源之間的匹配關係時,需要根據不同場景進行不同的設定。具體可分為如下兩類:
多改多場景
1. 邏輯說明
當資料源間與目標資料為多對多關係時,需要設定匹配規則,建立起兩者間的 1:1 或 1:N 關係。
如何設定匹配規則呢?根據實際需求,組合目標表單中的一或多個欄位,建立起一個聯合索引即可。這樣,資料源便可利用該索引,來查找對應的目標資料。
以批次更新使用者聯繫方式為例,可以設定匹配關係為目標資料.使用者ID「等於」資料源.使用者ID,建立起資料源與目標資料間的 1:1 關係,使得新表中的每筆資料能夠通過使用者ID找到底表中對應的使用者資料並修改。
2. 具體場景
在如下欄位值配置場景中,目標資料與賦值資料源間為多對多關係,需要設定資料匹配關係。
修改對象類型 | 目標資料源類型 | 用於賦值的資料源 | 主欄位被修改為 | 子表單欄位被修改為 |
選擇表單修改資料 | 僅有主表欄位 | 單值資料源 | 節點子表欄位(多值) | / |
多值資料源 | 節點主欄位(多值) | / | ||
存在子表欄位 | 單值資料源 | 節點主表欄位 自訂值 空值 | 節點子表欄位(多值) | |
節點子表欄位(多值) | / | |||
多值資料源 | 節點主表欄位(多值) | / | ||
自訂值 空值 | 節點主表欄位(多值) | |||
選擇節點修改資料 | 存在子表欄位 | 單值資料源 | 節點主表欄位 自訂值 空值 | 節點子表欄位(多值) |
多值資料源 | 自訂值 空值 | 節點主表欄位(多值) |
以表中高亮部分場景為例,進行詳細講解。即,當修改對象為「選擇表單修改資料」,並將「目標資料的主欄位」修改為「單值資料源的子表欄位」時,由於:
- 選擇表單修改資料時,可從目標表單中過濾出 0~N 筆資料,統一視為多筆資料處理;
- 使用節點子表欄位進行賦值時,由於子表單中可有一或多筆資料,統一視為多筆資料處理。
此時出現了多對多關係,因此需要設定資料匹配關係。
附注:
1. 單值資料源包括:新增資料節點(單筆)、查詢單筆資料節點、計算節點、外掛節點;多值資料源包括:新增資料節點(多筆)、查詢多筆資料節點;
2. 修改對象為「選擇節點修改資料」,且所選節點為多值資料源節點時,匹配關係的邏輯與具體場景與「選擇表單修改資料」完全一致。
多改一場景
1. 邏輯說明
將子表單資料修改為單一值時,需要設定子表單過濾條件,建立起資料源與目標資料間的 1:N 關係,使得節點知道,該修改子表單中的哪些資料。
如,在修改學生 A 的英語成績時,可以設定子表單過濾條件為子表單.科目「等於」英語,以確保只有英語科目的資料被修改。
2. 具體場景
在如下欄位值配置場景中,將子表單資料修改為了單一值,需要設定子表單過濾條件。
修改對象 | 目標資料源 | 賦值資料源 | 主欄位被修改為 | 子表單欄位被修改為 |
選擇表單修改資料 | 存在子表欄位 | 單值資料源 | 節點主表欄位 自訂值 空值 | 節點主表欄位 自訂值 空值 |
多值資料源 | 自訂值 空值 | 自訂值 空值 | ||
選擇節點修改資料 | 存在子表欄位 | 單值資料源 | 節點主表欄位 自訂值 空值 | 節點主表欄位 自訂值 空值 |
多值資料源 | 自訂值 空值 | 自訂值 空值 |
以表中高亮部分場景為例,進行詳細講解。即,當修改對象為「選擇表單修改資料」,並將「目標資料的子表欄位」修改為「單值資料源的主表欄位」時,由於:
- 修改子表單資料時,子表單中可能有一或多筆資料;
- 單值資料源中僅有單筆資料,其主表欄位為單一值;
此時可能會將多條子表單資料修改為單一值,因此需要設定過濾關係,僅對特定的子表單資料進行修改。
附注:
1. 單值資料源包括:新增資料節點(單筆)、查詢單筆資料節點、計算節點、外掛節點;多值資料源包括:新增資料節點(多筆)、查詢多筆資料節點;
2. 修改對象為「選擇節點修改資料」,且所選節點為多值資料源節點時,匹配關係的邏輯與具體場景與「選擇表單修改資料」完全一致。