iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0
Software Development

成為產品型工程師吧!從培養產品思維到 PostHog 數據實戰系列 第 12

Day 12|當內建圖表回答不了問題:SQL / HogQL

  • 分享至 

  • xImage
  •  

前面我們了解到,如何在產品分析(Product Analytics)中建立不同類型的 Insight 來輔助觀察。然而,許多時候我們想觀察的事情,很難直接利用預設選項展示。

舉例來說,我們有這樣的事件:

posthog.capture('purchase_product', {
    price: 100,
    amount: 10
})

我們可能想觀察平均的單筆成交金額,此時就不容易透過一般的數值選擇器達成。當然,直接在 Event 中加入計算好的屬性也是可行的選項,但時間無法逆轉,如果過去的事件已經缺少這個數值,就需要找其他方法補上。

我們有兩個選項:一、使用原有圖表,搭配 SQL Expression;二、使用 SQL Insight。

展開 Series 的數值選擇器後,SQL Expression 允許你使用 SQL 表達式來計算,例如:

avg(price * amount)

PostHog 內部使用 ClickHouse,因此許多函數都可以直接使用,具體可參考 Functions 文件Aggregations 文件

https://ithelp.ithome.com.tw/upload/images/20260914/20102556zWhYxxWXCm.png

事件的 Properties 並不會自動補全。如果需要查看非自訂屬性的名稱,目前我找到最簡單的做法,是到 Data 中的 Event Definition 找到一個事件,再從 Raw 裡面尋找對應的 Key。

https://ithelp.ithome.com.tw/upload/images/20260914/20102556KeZo5mscoD.png

https://ithelp.ithome.com.tw/upload/images/20260914/20102556V2cdi9Scmp.png

如果仍然不夠用,可以使用 SQL Insight:

https://ithelp.ithome.com.tw/upload/images/20260914/20102556m04LMq7HSC.png

兩種路徑都可以進入 SQL 編輯介面來撰寫 SQL,並透過 Visualization 切換圖表類型。

https://ithelp.ithome.com.tw/upload/images/20260914/20102556T79RyK5B0Z.png

這邊特別想提的是兩個變數:{filters.dateRange.from}{filters.dateRange.to}

後續我們會利用到儀錶盤功能,該功能允許你同時針對不同 Insight 進行查詢,而儀錶盤設定的時間範圍會透過這兩個變數傳遞。因此,如果 SQL 需要利用時間進行篩選,可以考慮直接使用這兩個變數。

到這裡,我們已經可以更自由地組合想觀察的資料。但很多時候,事件本身攜帶的資料仍不足以提供完整的分析資訊。

下一篇,我們會把資料庫等外部資料來源接進 PostHog,看看如何把產品事件和系統本身的資料放在一起分析。


如果你願意花 30 秒留下回饋,我會用這些意見來調整後續文章:分享你的意見


上一篇
Day 11|成功一次之後呢?Retention 與 Cohort
下一篇
Day 13|產品資料不只在 Analytics:Data Sources 與 Model
系列文
成為產品型工程師吧!從培養產品思維到 PostHog 數據實戰20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言