Redash 一些小技巧雜記

其實都是最近自己在用的,找個地方紀錄一下。

其實都是最近自己在用的,找個地方紀錄一下。

樞紐分析

Redash 有很多內建的視覺化工具,如果你本來就是要整理資料到試算表去做進一步的樞紐分析的話,可以試試內建的 Pivot Table。第一次看到時有點呆著不曉得怎麼操作,但其實右上方那欄就是給你拖曳的備選元素,看要拖曳到欄或列係聽尊便

source: redash official site

隊列分析

而如果你要做隊列分析(cohort)的話(比方說算服務留存率),那也有內建工具可以用,不過要先整理出這樣欄位的表格:

  • 起始日
  • 第 x 週期
  • 第 x 週期小計
  • 該起始日的母體總計
source: redash forum

一開始文件看不太懂(現在回頭看其實寫得很清楚,只是我急急忙忙求個速成),討論區倒是有官方團隊寫的範例,簡單扼要瞬間了解。如果你跟我們一樣用的是 Presto,那先幫你查好:date_part(… age())那行基本上可以用 date_diff 取代。

BTW 在視覺化設定第二頁裡可以選每一橫列的週期,我本來幻想他是只要給出以「天」為粒度的資料,就可以隨意地切換為週、月。不過總之不是如此,你本來 SQL 寫的每個週期是多少,就在設定裡相對設好就是了,並沒有辦法切換成不同粒度的留存率。

Sankey

Redash 的 Sankey 圖是我近幾個月「本來覺得很有用但其實不然」排行榜的第一名… 目前是拿來整理使用歷程,但這個圖跟 GA 的狀況並不相同,你沒辦法從圖上直接追出「第一步是 A、第二步是 B 的使用者有多少第三步進入 C」這種事情(因為第三步 C 的數字是所有第二步來源加總,無法由圖上區隔開來),而且最多也就是五步、要往後找的話就要改 SQL。

source: redash official site

誠心建議如果你有使用歷程的觀測需求,可以考慮用 GA 這類工具就好了。當然如果你的產品團隊每個人 SQL 都很熟也許沒差…

參數、選用參數

Metabase 跟 Redash 都可以在 SQL 裡加上參數並以 GUI 呈現,讓你比較容易調整一些數值。

source: redash official site

不過個人感覺 Redash 稍稍麻煩些,介面怎樣一回事,沒有辦法像 Metabase 一樣設定參數為 optional 有些時候就變得很麻煩,比方說上圖如果你希望在「沒輸入 Search Term」的情況下就不要那整句 WHERE 子句的話,你可以在 Metabase 裡這麼寫:

[[user.email_address LIKE '%{{ search_term }}%']]

不過 Redash 沒有這招,你只能這樣搞:

('' = '{{ search_term }}'  
  OR user.email_address LIKE '%{{ search_term }}%')

或者如果參數是下拉選單的話也許是這樣:

('不篩選' = '{{age}} OR pd.age = '{{age}}')

這一點 Redash 的團隊其實有開張票希望支援 Optional 的參數,但都放數年了想來優先序挺低的,有興趣的人也許可以嘗試解掉。

雜談

最近面試蠻多 PM,發現很多人履歷上都寫著會 SQL,大概現代的 PM 多少要有自己翻資料的能力吧?雖然許多時候我們可以仰賴更容易操作的泛用型工具(比方說 GA),不過一旦要結合多項資料時,沒有資料科學家的團隊裡 PM 大概還是充當黑手的不二人選。

留言

留言透過 giscus 存在 GitHub,用 GitHub 帳號登入就能留言。

繼續閱讀