在上一篇中,我們已經認識了 Limit、Sort、Aggregate、Set 等常用的數據轉換節點(Data Transformation Nodes),這些工具能有效幫助我們清理與整理資料。然而,當自動化流程逐漸複雜,單純的篩選與排序已經不足以應對實際需求。
進入更多資料後,我們會遇到更多挑戰:
資料複雜度增加:來自多個來源的資料,常常包含重複項目、不規則格式或巢狀結構。
條件邏輯需求:必須依據不同條件分流,例如 VIP 客戶或大額訂單需要特殊處理。
統計分析要求:需要即時進行總和、平均值或分組彙整,以支持決策。
在這些情境下,n8n 提供了更強大的進階節點:Remove Duplicates、Split Out、Summarize、Filter、Switch、Compare Datasets 與 Code。
Remove Duplicates node 專門用於清除重複資料,這在 API 整合與資料庫同步時尤其重要。它能比對特定欄位,僅保留唯一紀錄,避免因重複導致錯誤或浪費資源。
電子報名單:去除重複的 Email,避免多次寄送。
訂單系統:防止重複訂單,確保營收統計準確。
客戶資料庫整併:合併來自不同來源的名單,消除冗餘。
表單回覆清理:刪除測試數據,保證資料真實有效。
API 回傳的資料中常包含陣列(Array),例如一張訂單內含多個商品。Split Out node 能將陣列逐項拆分,每個元素變成獨立的資料項,方便後續單獨處理。
接收陣列:例如訂單中的商品清單。
逐項拆分:Split Out 將每個商品獨立化。
個別操作:每個商品都可以獨立計算、驗證或轉換。
電商訂單拆解(逐一檢查商品庫存)。
問卷多選題分析。
批次檔案逐一處理。
Summarize node 功能類似 Excel 的「樞紐分析表(Pivot Table)」,能快速生成統計摘要。
數值計算:總和、平均值、最大/最小值。
分組彙整:根據指定欄位分類計算。
趨勢分析:快速對比不同維度的數據。
每日銷售總額統計。
各地區客戶數量分析。
產品類別營收比較。
員工績效指標計算。
這讓 n8n 不只是自動化工具,更能提供即時的商業洞察。
能根據條件保留或移除資料。
數值比較:金額 > 1000
文字匹配:客戶等級 = "VIP"
日期範圍:註冊時間在 30 天內
支援 AND / OR,可建立複雜的規則。例如:
篩選「VIP 客戶」且「訂單金額大於 5000 元」的紀錄。
Filter node 適合需要快速篩選特定資料的流程,例如名單清理或條件式通知。
與 Filter 不同,Switch node 不是單純的保留或丟棄,而是根據條件將資料「分流」到不同的路徑。
條件判斷:檢查資料屬性。
路徑分流:符合條件的資料流向不同分支。
差異化處理:各分支執行專屬邏輯。
大額訂單 → 人工審核。
小額訂單 → 自動出貨。
不同國家 → 分流到對應團隊。
Switch node 的價值在於能把「一套流程」切成多條分支,靈活應對不同業務需求。
在需要比較兩組資料時,Compare Datasets node 非常實用,無需額外使用 Excel 或 SQL。
交集(Intersection):找出共同項,例如潛在客戶與現有客戶的重疊名單。
差集(Difference):找出不同,例如新客戶 vs 舊客戶。
對稱差集(Symmetric Difference):僅存在於其中一個資料集的項目,例如庫存差異。
這能大幅減少人工比對的時間,特別適合名單管理、庫存檢查與異常偵測。
雖然 n8n 提供了眾多現成節點,但有些情境仍需要客製化邏輯。Code node 提供了完整的 JavaScript/TypeScript 環境,能實現無限擴展。
複雜運算:自訂折扣規則、演算法或業務邏輯。
資料格式轉換:修改 JSON 結構、格式化輸出。
API 清理:修正不規則回應或補齊缺漏欄位。
優先使用現成節點,保持流程可讀性。
僅在必要時才使用 Code,避免增加維護成本。
從基礎的 Limit、Sort、Aggregate、Set,到進階的 Remove Duplicates、Split Out、Summarize、Filter、Switch、Compare Datasets、Code,n8n 已經提供了一套完整的資料轉換的工具。
Remove Duplicates:資料清理。
Split Out:陣列拆解。
Summarize:統計彙總。
Filter:條件篩選。
Switch:邏輯分流。
Compare Datasets:集合比對。
Code:客製化邏輯。
熟練掌握這些節點,就能讓你的工作流程更靈活、更強大,從單純的自動化,進化為一個能應付任何挑戰的資料處理平台。