[Redash] Dashboard & Parameter

Mars Weng
MarsW-Redash
Published in
6 min readOct 21, 2018

Dashboard 功能是結合各種 Visualization,
也能根據不同角度/使用者組合各自想要的樣貌,這樣可以一次綜觀全貌,也就是 所謂的 Business Intelligence (BI) 使用情境中最常用的一環。

使用方式

Add Widget 代表新增一個 Visualization (不是一個 Query)
跟之前製作 Parameter 一樣,是要先選 Query ,
然後這裡要再選擇該 Query 底下的其中一個 Visualization。
也就是如果一個 Query 有多個 Visualization,就要重複這個步驟多次。

如果在 Query 中有使用 Parameter ,並有勾選 Global,
在 Dashboard 就能以所有用到的 Visualization
其原始 Query 使用到的每一個 Parameter,調整其數值,
並按下 Refresh (等同於 Query 中要按 Execute)來進行搜索。

而不同的 Query 有相同的 Parameter 名稱,則在 Dashboard 只會出現一個,
並可以使用此 Parameter 同時對所有的 Visualization 做搜索。

此外,除了增加 Visualization,也能增加 Textbox,
以 Markdown 語法來增加一些說明文字。

使用 Dashboard + Parameter 的重要注意事項

當同時有一個 Parameter 名稱在多個 Query 共用,在 Dashboard 可以用此 Parameter 搜尋,在原先各自的 Query 也是可以用同樣的 Parameter,
那這之間的交互關係就有些特殊現象:

Dashboard 預設的 Parameter 會以最左上(由左至下的順序)出現的 Visualization 在原先的 Query 使用到的 Parameter 為主。

而原先 Query 的 Parameter 會停留在上一次使用此 Query 的操作結果,
要直接使用 Query 才算,透過 Dashboard 的 Global 觸發的不算,
也就是 Dashboard 的 Parameter 操作並不會影響原 Query。

以前面的圖為例,Dashboard 有用到「Parameter (transactions )」、「transactions group by」這兩個 Query ,而這兩個 Query 的 Parameter 分別停留在 「2012–08–23」、「2012–08–25」,Dashboard是以最左上的 「Parameter (transactions )」的 Parameter 為主,所以會是他使用到的值「2012–08–23」

這個時候如果在 Dashboard 調整 Parameter,eg. 「2012–08–26」,
並按下 Refresh ,會看到底下兩個來自不同 Query 的 Visualization
都有依照現在的 Parameter 而出現不同的搜尋結果。

但如果這時從 功能列的 Query 進到這兩個 Query,會發現他們仍是停留在
原先各自的 Parameter 值:「2012–08–23」、「2012–08–25」

雖然 Dashboard 可以針對每個 Visualization 使用 View Query 回到原本的 Query,這時連結帶的會是 Dashboard 使用到的 Parameter (可看圖下方的超連結預覽網址),但如果 View Query 後沒有按下 Execute ,又再從 功能列的 Query 進到這個 Query,他還是會停留在 原先的 「2012–08–23」。

而如果 我們再從 功能列的 Dashboard 進到這個 Dashboard,會發現 Parameter 還是繼續用原來左上角 Visualization,也就是原來的 「2012–08–23」,而不會是上次 Dashboard 使用的 「2012–08–26」。

但實際上如果是以 Redash 當作 BI 的方案,
大部分的操作都是落在 Dashboard 層,而非基底的 Query,
常用的 Parameter 如果每次在進到 Dashboard 都要調整的話,
每次看 Dashboard 就多了一個步驟,
建議作法就是把常用的 Parameter 在原先的 Query 做調整,
避免使用者會多一層重複操作的時間。

使用案例

在旅遊電商來說,我們至少會有幾個 Dashboard:

  • 訂單 by 年月:以每月、每季等日期區間的角度
    去檢視營收狀況、供應商貢獻、旅遊地區
  • 訂單 by 供應商:以供應商的角度去看營收占比、各自的地區營收狀況

可以看到像是「供應商vs. 營收」的 Query 就會被重複使用到,
Dashboard 就可以依照不同檢視角度組合不同的 Visualization,
也能確保資料源 Query 的一致。

同時我們還會利用 Textbox 來對裡面使用到的名詞做說明,
有 Markdown 語法也能很方便的設置一些外部連結做參考或是標示重點。

我們很常會用到日期區間的 Parameter,
上面寫到的重要事項算是以 Redash 當成公司 BI 系統中體驗到的不便之處,
我們通常日期都是以一整個月為檢視,
但每次換月的時候如果忘了調整原先的 Query,
進到 Dashboard 就會是在上一個月的數值,
每次都得調整 Dashboard 的 Parameter 也是滿麻煩的!

另外,因為我們販賣的商品很常是靠爬蟲取得的,而這也是我的工作範疇,
我也會拉一個 Dashboard 一次看所有樹莓派機器的狀況:溫度、記憶體、抓取資料正確數量的變化、工作排程安排是否可以正常消化完畢,
來監測爬蟲的穩定性。

此為系列文章,傳送門在此

--

--