iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
AI & Data

為你自己學 n8n系列 第 4

[為你自己學 n8n] 第 4 天,節點大師之路:產生寶可夢、篩選、算戰力!

  • 分享至 

  • xImage
  •  

Yes

影片連結:https://www.youtube.com/watch?v=1CWqgcsp7DY
YouTube 頻道:https://www.youtube.com/c/kaochenlong

各位好!在上一集我們介紹了 n8n 的介面、如何取得授權碼,以及安裝社群節點。今天我們來動手建立工作流程,實際來串接幾個節點,感受一下 n8n 的威力。

建立你的第一個工作流程

準備工作

在開始之前,如果你已經取得啟用碼,你會發現左側多了一個「Personal」按鈕。這個功能可以讓你新增目錄,把工作流程整理在不同的資料夾裡面 - 相當實用!

建立新工作流程

要建立工作流程有好幾個地方可以點:

  • 左上角的「Workflow」按鈕
  • 中間的新增按鈕(如果還沒有任何工作流程)
  • 右上角的「Create」按鈕

隨便找個地方點下去,你會看到一片空白的畫布。這個畫布是可以無限延伸的,你可以用滑鼠拖拉來移動視野。

我知道,對新手來說這有點不友善,畢竟不是每個人都是工程師,不是每個人都能馬上理解該怎麼用。但別擔心,我們慢慢來,跟著我一起學。

練習題目:計算大型寶可夢的平均戰鬥力

為了讓大家更容易理解節點串接的概念,我準備了一個有點蠢的題目:

「計算身高大於一公尺的寶可夢的平均戰鬥力」

這個題目其實是在練習問題拆解的過程:

  1. 怎麼取得寶可夢的資料?
  2. 怎麼篩選出身高大於一公尺的寶可夢?
  3. 怎麼計算平均戰鬥力?

步驟一:建立觸發節點

首先點擊畫布中間的「+」號,會跳出一堆選單。我知道選項很多,會讓人不知道怎麼選。沒關係,當你不知道該選什麼的時候,就先選第一個「Trigger Manually」(手動觸發)。

這個節點的特色是左邊有一個橘色閃電符號,代表它是整個流程的開始。要執行它很簡單,底下有個「Execute Workflow」按鈕,點下去(或按 Command+Enter)就會執行。執行成功後會出現綠色打勾。

當然,現在執行什麼用都沒有,因為我們還沒有串接任何資料。

步驟二:取得資料來源

使用內建的訓練資料

n8n 內建了一些訓練用的資料庫。點擊節點右邊的「+」號,在搜尋框輸入「training」,會找到「n8n Training」節點。選擇「Get all people」可以取得一些範例資料。不過這個資料有點無聊 - 每次都是一樣的五筆資料,最多也只有五筆。所以我們換個更有趣的!

使用隨機寶可夢節點

還記得上一集請大家安裝的「n8n-nodes-random-pokemon」嗎?這是我寫的社群節點,可以隨機的產生 N 隻寶可夢資料。

  1. 刪除剛才的訓練節點
  2. 點擊「+」號,搜尋「pok」(注意不是 poke,因為我當初取名時用了法文字母)
  3. 選擇「Random Pokemon」節點
  4. 設定數量為 20 隻(最多可以到 50 隻)
  5. 執行看看!

每次執行都會隨機產生不同的寶可夢。你可以切換檢視方式:

  • Schema:顯示欄位結構
  • Table:表格檢視(最直觀)
  • JSON:工程師比較熟悉的格式

步驟三:篩選資料 - 兩種方式

現在我們有了 20 隻隨機寶可夢,要怎麼找出身高大於一公尺的呢?這裡介紹兩種思考方式。

方式一:工程師思維 - 使用 If 節點

如果你是工程師,可能會想到用 if...else 的邏輯:

if height > 1:
  print("OK")
else:
  print("NO")

在 n8n 中的作法:

  1. 點擊寶可夢節點右邊的「+」號
  2. 搜尋「if」,選擇 If 節點
  3. 重點來了!你可以直接拖拉 height 欄位到條件設定區
  4. 選擇條件類型為「Number」
  5. 選擇「is greater than」
  6. 輸入「1」

執行後,你會看到資料分成兩條路:

  • True:身高大於一公尺的寶可夢
  • False:身高不到一公尺的寶可夢

方式二:一般人思維 - 使用 Filter 節點

如果你不是工程師,可能會更直覺地想到「過濾」這個概念:

  1. 從寶可夢節點拉出另一條線(一個節點可以有多條輸出)
  2. 搜尋「filter」,選擇 Filter 節點
  3. 一樣拖拉 height 欄位到條件區
  4. 設定和 If 節點一樣的條件

執行後,Filter 節點只會輸出符合條件的資料,不符合的直接被過濾掉。

If vs Filter:該選哪個?

兩種方式都能達到目的,差別在於:

  • If 節點:二分法思維,會產生兩條分支(True/False)
  • Filter 節點:過濾思維,只輸出符合條件的資料

如果你之後還要處理「不符合條件」的資料,用 If 比較合適。如果只要符合條件的資料,Filter 更簡潔。

步驟四:計算平均值

最後一步,我們要計算這些大型寶可夢的平均戰鬥力:

  1. 在篩選節點後面加上新節點
  2. 搜尋「average」,會找到「Summarize」節點
  3. 選擇操作類型為「Average」
  4. 拖拉 attack 欄位到計算欄位

執行後就會得到平均戰鬥力!你也可以試試其他功能:

  • Max:找出戰鬥力最高的數值
  • Min:找出戰鬥力最低的數值
  • Sum:計算總和
  • Count:計算數量

重要整理

1. 每個節點做好一件事

n8n 的核心理念是:每個節點專注做好一件事,然後透過串接組合出複雜的流程。這個概念很重要!

2. 資料可以抽象化

在這個練習中,我們用隨機寶可夢當資料來源。但實際應用時,這個節點可以替換成:

  • Excel 檔案
  • 資料庫
  • API 爬蟲
  • 任何資料來源

重點是學會資料處理的流程和概念。

3. 拖拉操作很方便

n8n 最厲害的地方就是可以用拖拉的方式設定條件,不用寫程式碼。當然,如果你要寫 {{ $json.height }} 這樣的表達式也可以,但對大多數人來說,拖拉更簡單、直覺。

4. 節點可以複製

當你設定好一個節點,可以按 Ctrl+C 複製、Ctrl+V 貼上,快速建立類似的節點。

5. 連線可以重新調整

節點之間的連線可以隨時刪除(點垃圾桶圖示)和重新連接,線條的形狀也可以拖拉調整,讓流程圖更美觀。

n8n 有非常多節點可以使用,但常用的大概二、三十個。接下來幾天,我會繼續用白話的方式,跟大家一起認識更多實用的節點和串接技巧。

不用焦慮、不用急,慢慢來就會了!


上一篇
[為你自己學 n8n] 第 3 天,打開控制台,認識你的自動化駕駛艙!
系列文
為你自己學 n8n4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言