iT邦幫忙

2023 iThome 鐵人賽

DAY 9
1

對於軟體工程背景的人來說, Metabase 就像一層圖形化使用者介面 (graphical user interface) ,把資料倉儲 (data warehouse) 包裝了起來。簡單直覺地理解方式,就是把 Metabase 視為是一種圖形化界面的 SQL 產生器/翻譯器 。

上述看待 Metabase 的方式,是一種「原理優先」的視角:理解事物,從這些事物的底層怎麼運作來設法加以了解。相對於「原理優先」的視角,另一種理解事物的觀點,可以稱之為「應用優先」:理解事物,先從這些事物運作了之後可以達成什麼目的,又或是使用的情境來設法加以了解。

如果我們要從「應用優先」的角度來理解 Metabase ,那我們要先談談資料分析裡的一些重要概念與操作。

  • 概念:維度 (dimension) 與度量 (measure)
  • 操作:篩選 (filter) 與概括 (summarize)

維度 (dimension) 與度量 (measure)

  • 維度 (dimension) 是描述性、定性的資訊,比方說,名字、URL、地理位置、時間等。通常你會利用維度的資訊來對度量的資訊做操作。維度通常描述:與資料有關的誰、資料是什麼、在何時產生、在何處產生 (who, what, when, where)
  • 度量 (measure) 是以數值方式記錄的資訊,它通常可以被一個或是多個維度來加以拆解、又或是可以透過維度來分群並且對分群之後的子群體進行加總。一言以蔽之,對它做了數學運算 (compute) 之後,可以帶有合理的分析意義的,這是度量

products_table.png

以上表 (product table) 為例:

  • 維度:ID, Ean, Title, Category, Vendor, Created At
  • 度量:Price, Rating

這邊要特別注意兩點:

  1. 如果資料欄位的型別是以非數值方式記錄時,可以判斷它是維度。
  2. 然而,當資料欄位的型別是數值方式記錄時,就要透過仔細思考這個資料欄位的意義,才能判斷它到底是維度還是度量。

篩選 (filter) 與概括 (summarize)

當我們面對大量的資料時,要對這些資料產生一些了解,第一步,通常是我們要先縮小有興趣的資料範圍。這時,很適合用篩選 (filter)

  • 只對某特定時間有興趣,篩選出那段時間對應的資料列 (row)。
  • 只對某特定地理位置有興趣,篩選出那些地理區域對應的資料列 (row)。
  • 只對某特定種類有興趣,篩選出含有那些種類對應的資料列 (row)

當有興趣的資料已經被篩選出來之後,我們很可能想要對資料做個快速地概括性了解。這時,適合的操作就是概括 (summarize),概括是「先用某個維度 (dimension) 對資料分群,再對這些群體的度量資訊 (measure) 做一個數學運算操作」。常用的數學運算有:加總、平均、最大值、最小值、計算筆數。這邊要注意一點,概括也可以是「不分群,直接對所有資料的度量資訊 (measure) 做一個數學運算操作」。

  • 想知道每天的訂單總金額多少:以「天」做為分群維度,對訂單金額做「加總」。
  • 想知道美國每個州的訂單平均金額多少:以「美國的各州」做為分群維度,對訂單金額做「平均」

operation.png

上圖, Metabase 顯示資料表 (table) 的主畫面所顯示的,篩選 (filter)概括 (summarize) 的按鈕就在畫紅圈的位置,非常地顯眼,因為這兩種操作就是最常用的資料操作了。

實務應用

想象一段常見的管理階層對話。

某公司的經營者 A ,休假一週後,回到公司。一上班後,立馬先找業務主管:「我們的業績如何?」先掌握現況吧。

於是,業務主管回報了最新的數字。

接著,經營者 A 問了下一個問題:「你認為這樣子算好嗎?」

業務主管回答:「這就要看你要從哪一個角度來看了…」

如果該公司的產品/服務是賣給一般消費者的 (2C),業務主管可能會把每個地區的業績展開來看。如果是賣給企業的 (2B) ,業務主管可能會把每個不同行業別的業績展開來看。

上述的『展開』,就是把業績這個度量 (measure),透過地區或是行業別這兩種維度 (dimension) 來做概括 (summarize)。

如果某個地區的成績特別好、特別差、又或是某個行業別賣得特別好、特別差,經營者很可能又會想知道,「為什麼這件事會發生?」

為了回答這個進一步的問題,業務主管很可能必須篩選 (filter) 某地區、某行業相關的資料,而這些資料自然又包含了許許多多新的維度 (dimension),然後,再利用這些維度去對業績做分析,直到他想出各式各樣的可能原因為止。


其它資源

  1. 對 dbt 或 data 有興趣 👋?歡迎加入 dbt community 到 #local-taipei 找我們,也有實體 Meetup 請到 dbt Taipei Meetup 報名參加
  2. 歡迎訂閱 PruningSuccess 電子報,主要談論軟體開發、資料處理、資料分析等議題。

上一篇
View layer: Metabase - 自動分析
下一篇
View layer: Metabase - 進階操作
系列文
當代資料工程與資料分析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言