當你需要把「多筆分散的 item」整理、打包成一筆可傳遞的 payload(例如把多個客戶記錄收進同一個 customers
清單、把多筆產品明細合成一個 catalog
物件)時,**聚合節點(Aggregate)**最順手。它提供兩條路:
- Individual Fields:挑選一個或多個欄位,分別聚成欄位→清單(如把每筆的
email
聚成emails: [...]
)。 - All Item Data:把每個輸入 item(或其子集合)原封收進同一個清單(如
orders: [ {...}, {...} ]
),並可指定要含哪些欄位。
進一步可用 Merge Lists 把「清單的清單」攤平成單層清單;遇到欄位名含點號可啟用 Disable Dot Notation;需要保留二進位或空值也有對應開關。搭配 Split Out、Summarize、Filter/Sort/Limit,就能在管線中自由地「拆—處理—再打包」。
聚合節點 (Aggregate Node) 介紹
聚合節點用於將分散的數據項或其部分組合在一起,形成單個項。這對於需要將多個相關數據合併為一個整體的場景非常有用。
例如,您可以使用聚合節點將多個客戶記錄合併為一個客戶列表,或將多個產品詳情組合成一個產品目錄。
聚合節點 (Aggregate Node) 參數
要開始使用聚合節點,首先需要選擇您想要使用的聚合類型:
個別字段 (Individual Fields)
分別聚合個別字段
所有項數據 (All Item Data)
將所有項數據聚合到單個列表中
根據您選擇的聚合類型,節點會顯示不同的參數選項,讓您能夠精確控制聚合過程。
個別字段 (Individual Fields) 參數
輸入字段名稱 (Input Field Name)
輸入要聚合在一起的輸入數據中的字段名稱
重命名字段 (Rename Field)
此開關控制是否在聚合的輸出數據中給字段一個不同的名稱
輸出字段名稱 (Output Field Name)
當您開啟「重命名字段」時顯示,輸入聚合輸出數據的字段名稱
如果您要聚合多個字段,必須提供新的輸出字段名稱,不能將多個字段未定義。
所有項數據 (All Item Data) 參數
將輸出放入字段 (Put Output in Field)
輸入要輸出數據的字段名稱
包含 (Include)
選擇要在輸出中包含哪些字段
- 所有字段 (All fields)
- 指定字段 (Specified Fields)
- 除外所有字段 (All Fields Except)
根據您在「包含」中的選擇,可能需要指定要包含或排除的字段列表。
聚合節點 (Aggregate Node) 選項
禁用點表示法 (Disable Dot Notation)
控制是否禁止使用 parent.child 格式引用子字段(開啟)或允許(關閉,默認)
合併列表 (Merge Lists)
如果要聚合的字段是列表,且您希望輸出單個平面列表而不是列表的列表,請開啟此選項
包含二進制 (Include Binaries)
如果您希望在新輸出中包含來自輸入的二進制數據,請開啟此選項
保留缺失和空值 (Keep Missing And Null Values)
開啟此選項可在輸入中有空值或缺失值時在輸出列表中添加空條目
聚合節點 (Aggregate Node) 應用場景
客戶數據整合
將來自多個來源的客戶信息聚合到單個客戶資料中
銷售報告匯總
將各個銷售記錄聚合為按區域或產品類別分組的報告
庫存管理
將分散的庫存記錄聚合為整合的庫存視圖
聚合節點在需要將分散數據合併為更有意義的整體時特別有用,可以大大簡化數據處理流程。
總結
- 先選聚合型態,再定欄位
- Individual Fields:
- 指定 Input Field Name;聚合後輸出為「欄位 → 值清單」。
- 聚多個欄位時,開 Rename Field 並設定 Output Field Name,避免欄位衝突。
- 欄位原本就是清單且想攤平,開 Merge Lists。
- All Item Data:
- 用 Put Output in Field 指定包裹欄位(如
items
)。 - 以 Include = All / Specified / All Except 控制要帶哪些欄位進輸出。
- 用 Put Output in Field 指定包裹欄位(如
- Individual Fields:
- 實務心法
- 結構優先:能以「物件清單」表示就別做「平行陣列」;可讀、也不怕索引對不齊。
- 順序可預期:聚合前若有意義的排序,請先用 Sort,讓打包後的清單順序穩定。
- 資料清洗在前:大小寫、型別、空值先用 Set/Code 正規化;需要濾掉雜訊先用 Filter。
- 大資料量注意記憶體:聚合會把多筆收進單一 item,超大批次前先 Limit / 分頁,或只選必要欄位。
- 欄位路徑與空值:
- 欄位名含
.
或需原樣比對時,開 Disable Dot Notation。 - 要保留
null
/缺漏位置,開 Keep Missing And Null Values。 - 要連同檔案一起打包才開 Include Binaries(payload 會變大)。
- 欄位名含
- 常見搭配
- Split Out →(處理)→ Aggregate:先拆後處理,再打包回陣列。
- Summarize + Aggregate:先做統計摘要,再把結果與明細一起打包回傳。
- Merge(Append)→ Aggregate:多來源串接後,再集中到一個欄位輸出。
用好 Aggregate,你就能把零散資料收束成一個結構良好的輸出,讓下游 API、儲存或回應一次搞定、乾淨俐落。