其實有點忘了當時是下什麼關鍵字,
總之是有學到 Business Intelligence 這個詞,
然後就找到了 Metabase,覺得操作介面看起來不錯就先裝起來玩。
Metabase 算是初次體驗就有很好感受的一個系統,官方文件寫的很詳細:
官網 Document 連結點入 > Installation Guides
點選 Running on Docker 連結,就可進到詳細教學
以 Linode 系統為 Ubuntu 16.04 為環境設定,首先更新 ubuntu 套件
sudo apt-get update
再來是安裝 docker
sudo apt install docker.io
就可以輕輕鬆鬆一行指令啟動 docker 來體驗 Metabase 了!
docker run -d -p 3000:3000 --name metabase metabase/metabase
以 Linode 的 IP 為例,進入 http://YOUR_IP:3000/ ,
就可以看到 Metabase 正在進行設定,大概會耗時五分鐘左右
第一次體驗已經是今年04月多的時候了,
這次滿訝異竟然安裝指引有了中文(不是繁體中文看了還是不太習慣),
雖然管理介面 http://YOUR_IP:3000/admin/settings/general
可以選擇語言,但敘述上是以瀏覽器為主
如果有需要改成英文,還是需要去調瀏覽器的設定:把英文設定在中文前方
(Google Chrome 可在網址欄輸入chrome://settings/languages
)
按照設定步驟完成後會是到管理頁面,可以自行新增 Database,
除了我最在意的 MySQL,也有支援 Google Analytics、MongoDB、
Amazon Redshift、Google BigQuery、H2、Postgres、SQLite、SQL Server、
Druid、CrateDB、Oracle、Vertica、Presto、SparkSQL,
詳細支援列表可參考官方文件
或者也可以先體驗預設的 Sample 資料,
要回到平常的資料操作與圖表頁面,可以利用右上角的 Exit admin
或是網址可改回 http://YOUR_IP:3000/
主要核心在「Ask a question」,
有對非技術人員十分友善的 Custom UI 操作介面,
或是可直接以 Native query 使用 SQL 語法取得資料,
可以很容易透過 Custom 的操作介面,Filter、Group出想要的資料,
然後可以利用 View 來決定要計算哪些統計值,
最後再透過 Visualization 決定資料呈現的方式。
Metabase 的 Visualization 提供主要是基本的圖表,清單可參考官方文件
雖然是設計給非技術人員使用的 Custom 介面,但還能以 SQL 檢視其搜尋條件,
如果需要做更進階的操作,可以再回到 Native query 做更客製化的需求。
此次再體驗 Metabase 的時候,發現一個很貼心的 X-Rays 功能,
在匯入 Database 的時候,就先分析一輪裡面的 table 以及其 field,
可以讓人連 Query 都還不需要,就可以很快知道這些 data 能組出哪些 information。
在一個團隊中,
每個人在意的 Question 可能不同,要看的 Visualization 也不太一樣,
Dashboard 的方便之處就是大家可以組出自己在乎的儀表板,
但又同時確保大家核心的資料源組出的 Question 是相同的。
此份報表也是建立在 Dashboard 上,可以依照自身喜好來重新排列組合這些 Question。
Metabase 一列可細到18格,不過一個圖表最小是2x2,但算是切割的滿細了。
ps. Question 也可以很容易建立互動操作的 Filter,在看報表的當下隨意選擇區間來看不同的操作結果,而不需重新回到 Question 上重拉資料
Metabase 的優點對於技術人員來說,某些時候成了缺點,
有些太過貼心,以至於可修改的彈性不足
tinyint(1)
會自動轉譯成 Boolean
ps. 文章同步發表於 Medium
您好,
請問一下,如果要做到 "單一資料源,多人共用,每個人有自己的報表呈現面板"
這樣的話要:
建一個 docker, 所有人都連那一台 (可能有提供類似帳號管控的機制,存每個人的報表)
還是每個人都要自己 own docker?
抑或是您有知道更適合的 solution,煩請給予指教
感謝您
https://ithelp.ithome.com.tw/articles/10201225
Metabase, Superset, Redash 都有帳號控管系統,都可以做得到喔!
我自己最常用的Redash就是同一台服務,然後開不同帳號,每個人都有自己的 Query & Dashboard,如果只希望給自己,Query & Dashboard 不要 Publish 就好
感謝您的回應,
想再請問您是怎麼做管控的呢?
因為個人目前評估,希望能夠直接將公司內部系統的帳號,直接跟這些 solution 對接,不知這是否可行(技術上、管理上)
metabase 似乎是要付錢才能做這塊,另外兩個還在看...
我目前在用的是Redash,因為是要綁email帳號,就直接幫同事用他們的公司email註冊,然後發連結/寄信給他們自行設定密碼
Redash 官方文件有說到可以整合 LDAP/AD,可以參考看看
https://redash.io/help/open-source/admin-guide/ldap-authentication
Redash, Superset 因為是自架,這些管控功能都是免費的。
感謝您的回覆,受教了~
抱歉再次叨擾,
想請教一下,這樣的 solution 能否做到 "資料的權限管控"?
因為所有 user 的資料都是存在一起的 (可以理解成都放在同一個table),但實際上每個 user只能看自己的資料
還是說,有甚麼適合的關鍵字可以找到這方面的資訊? (不然一直麻煩你也不好意思...
因為你的需求細節我並沒有很了解,加上每個系統的設定不同,
建議是自己看個別的官方文件,
或是安裝起來試玩,會比較理解他們的方法
有些可以直接設定,或是利用一些組合技看看是否能達成自己希望的效果