條件分支

  • 文檔創建者:Wendy123456
  • 編輯次數:18
  • 最近更新:Nikozhan 于 2025-07-17
  • 1. 概述

    1.1 版本說明

    FineDataLink 版本功能變動
    2.0ETL 作業新增一種節點類型:「條件分支」
    4.0.19「條件分支」中,支援定義的參數類型,從日期、字串、整數型態、雙精度型、布林型,改為日期、正文、數值、布爾
    4.1.0條件分支中新增參數時,可透過摺疊樹選擇參數

    1.2 應用場景

    進行資料開發時,需要基於某個變數作為判斷的條件,將節點與上游節點、其他任務建立聯絡,靈活地控制下游節點運作的前提。

    例如:

    • 當某個部門銷售額達到一定值時,將該部門標記為優秀。

    • 基於任務 1 執行的結果(success\fail),判斷是否執行任務 2 。

    • 當離職人員資料達到 N 條時,將該部門的穩定性標記為風險。

    1.3 功能簡介

    「條件分支」節點需要與 参数 配合使用,當參數的值符合某個條件時,運作下游節點或者運作下游節點裏面的哪一個;當參數值不符合某個條件時,跨越執行下游節點,未執行的下游節點不等同於運作失敗,不影響整體任務的運作。

    demo 範例詳情參見:https://demo.finedatalink.com/  「條件分支-複本」

    2. 使用說明

    2.1 準備參數

    參數說明請參見:参数概述

    「條件分支」節點需要與參數配合使用,當參數的值符合某個條件時,運作下游節點或者運作下游節點裏面的哪一個。

    需注意:

    1)若參數值為一個,設定參數後,後接一個「條件分支」節點或直接使用條件分支節點判斷如何運作後續節點即可。如下圖所示:

    2)若參數值為多個,由於條件分支節點每次只能使用一個參數值進行判斷,需要將「條件分支」節點及後續要判斷是否運作的節點放到「循環容器」節點中,由循環容器節點遍歷所有參數值。如下圖所示:

    2.2 條件分支節點設定項說明

    條件分支節點設定項如下圖所示:

    2.2.1 下游節點

    當條件判斷透過時,運作對應下游節點,否則不運作。

    2.2.2 判斷條件

    1)判斷條件說明:

    條件判斷傳回的值為布林型:true 或 false

    • 當回傳值為 true 時,執行下游節點。

    • 當回傳值為 false 時,不執行下游節點。

    • 判斷條件預設傳回 null ,即無判斷,直接執行下游節點。

    判斷條件中支援使用內建參數,可直接在條件配置中輸入參數名,格式為${參數名稱}

    注:某個條件可以由多個條件用且、或的關係組成。

    基於不同的參數類型,提供不同的判斷條件:

    注:4.1.1 及之後版本,產品內條件判斷邏輯進行了統一,每個判斷條件的說明可參見:條件判斷邏輯說明


    參數類型可選擇的判斷條件
    正文屬於、不屬於、包含、不包含、開頭是、結尾是、開頭不是、結尾不是、為空、非空
    日期

    介於、不介於、某個日期之前、某個日期之後、等於、不等於、為空、非空

    數值(整數型態、雙精度型)

    屬於、不屬於、介於、不介於、大於、小於、大於等於、小於等於、為空、非空

    布爾為真、為假

    2)可透過摺疊樹選擇參數:

    4.1.0 及之後版本,新增參數時,可透過摺疊樹選擇參數,可選的參數類型:任務內參數、全局參數內建參數。如下圖所示:

    3)常數條件值說明:

    直接輸入常數類型的條件值,和定義參數時輸入常數格式保持一致,具體要求如下表所示:

    類型
    範例備註
    數字-單個1
    數字-陣列1.4,2.6,4.8,5.6
    數字間用英文逗號隔開
    正文-單個正文1
    正文-多個'正文1','正文2'正文加單引號,用英文逗號隔開

    用正文常數值舉個例子,設定如下圖所示:

    2.3 設定後續運作節點

    使用者根據實際情況設定條件分支後需要運作的節點。

    3. 操作步驟

    本文範例:每天根據機台的當機次數,將機台對應的維護級別寫到另一張表裏(任務運作當天,日期為2024-08-06)

    3.1 資料庫表說明

    範例任務用到兩張表,其表名稱和欄位的說明分別如下:

    edown:模擬生產環境,某個機台每天的當機次數會自動錄入該表。

    estatus:每天根據 edown 表裏的當機次數,將機台維護級別寫到這個表裏,不同當機次數對應的級別不同,需要進行判別。

    機台維護級別說明如下:

    • 當機次數為0:正常級別。

    • 當機次數大於3:嚴重級別。

    • 其他:一般級別。

    3.2 設定參數

    由於不同當機次數對應的級別不同,需要透過當機次數判斷機台維護級別。因此,需要將當機次數作為參數匯出,便於後續「條件分支」節點根據當機次數判斷機台維護級別。

    1)建立定時任務,拖入參數指派節點,將當天機台當機次數取出。如下圖所示:

    點選資料預覽,如下圖所示:

    10.png

    2)將當機次數匯出為參數。如下圖所示:

    注:參數建議設定除錯值,便於後續節點引用參數後查看效果;除錯值不參與實際運作。

    3)給該節點新增備註:獲取當天當機次數。如下圖所示:

    3.3 級別入庫

    1)拖入一個SQL腳本」節點,將當天日期和正常級別寫到 estatus 表裏,並給節點備註為:正常級別入庫。如下圖所示:

    2)再拖入一個SQL腳本」節點,將當天日期和一般級別寫到 estatus 表裏,並給節點備註為:一般級別入庫。如下圖所示:

    3)拖入一個SQL腳本」節點,將當天日期和嚴重級別寫到 estatus 表裏,並給節點備註為:嚴重級別入庫。如下圖所示:

    3.4 設定條件分支

    1)在參數指派節點和SQL腳本節點之間,拖入條件分支」節點;上游跟參數指派節點遠端,下游跟三個SQL腳本節點遠端。如下圖所示:

    此時點選條件分支」節點,可以看到多了三個分支,分別對應到下游的三個節點,可以給每個分支設定判別條件,決定執行哪一個。

    2)先設定SQL腳本節點的判別條件,當當機次數等於 0 時,就執行該分支。如下圖所示:

    相同步驟,設定另外兩個「SQL腳本」節點的執行條件。如下圖所示:

    3.5 效果查看

    點選運作按鈕,任務執行成功後,日誌如下圖所示:

    2024-08-05 的當機次數為 6,將只執行嚴重級別入庫的SQL腳本節點,剩餘兩個SQL腳本節點跨越執行。如下圖所示:

    estatus 表資料如下圖所示:

    1722924739698458.png

    4. 最佳實踐

    條件分最佳實踐詳情參見:使用条件分支获取优秀员工信息



    附件列表


    主題: 資料開發-定時任務
    已經是第一篇
    已經是最後一篇
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!