篩選與分流
直線流程只能「全部都做」。實際工作幾乎都要判斷:金額夠不夠、國家是不是台灣、主旨有沒有「發票」。Make 用 Filter 決定過不過,用 Router 把同一筆資料送到不同後續模組。
Filter:過或不過
模組與模組之間的連線可以設 Filter。條件成立,bundle 才往後走;不成立,這筆資料在這裡結束,後面模組不跑,也就不燒那些 credits。
條件用 AND/OR 組合,運算子有等於、包含、大於、存在等。標籤請寫人看懂的名字(例如「金額 ≥ 1000」),除錯時才找得到是哪一條擋下來。
Filter 不會「改資料」,只負責開門或關門。
Router:一筆變多路
Router 把流程分成數條路線。例如所有名單都寫進 Slack,但只有美國的再推到手機 App——這是官方入門指南的延伸練習。
重點:
- 路線是依序處理,不是同時平行。第一條跑完才跑第二條。
- 每條路上可再設 Filter,決定這條要不要收這筆資料。
- Fallback 路線處理「前面都不符合」的資料,避免 silently 丟掉。
- Router 本身不消耗 credits。
官方天氣例子:熱 → 穿短褲;冷 → 穿外套;其餘 → fallback「待在家」。同一筆氣象資料,只會走符合條件的路(加上你是否設了 fallback)。
路線不會自動合併
Make 沒有一般流程圖裡的 Join。兩條路要在後面共用結果,需用 Set variable/Get variable(社群常稱 Router Magic Formula),見 陣列與資料處理。不要假設兩條路會在某一顆模組再匯合。
相關影音
官方示範 Nested If/Else:多條件路徑怎麼畫得比較乾淨,可對照 Router+Filter 的用法。約 10 分鐘。
相關資料
- 官方:Router
- 入門延伸:Step 2. Add a router
- If-Else 與 Merge 模組示範:官方影音