前文有提到,Metabase 是為一般人而設計的軟體,也因此,在 Metabase 的術語,對資料所做的資料庫查詢 (database query) ,稱之為問題(question)。它不要求一般使用者要在頭腦裡構思資料庫運作原理,與之相對的,它只要求使用者要積極地去對 Metabase 提出他們的疑問。而即使已經簡化致此,對於一般人來說,對資料來提問,依然是很專業的事情,不是那麼容易可以上手。能普惠一般人的,是全自動化的分析,而這點, Metabase 也可以提供。
接下來,我們會利用 Metabase 預設提供的樣本資料庫 (Sample Database) 來說明使用 Metabase 的自動分析。要了解自動分析,首先我們要討論兩件事:一是「探索式資料分析」,這是自動分析的目的。其二則是「欄位定義」,這是 Metabase 的功能之一,有了這個功能之後,自動分析才能有效地運作。
何謂探索式資料分析呢?它是指一套有系統的作法,可以讓我們對資料產生基本的認識,此處的認識包含了:
Metabase 的探索式資料分析的功能相當強大,一開始就會給出一個總概括:
下圖是 order 表自動產生的『每週交易數』。
實務上,資料庫在儲存資料時,通常會把資料拆成不同的表 (table) 來儲存,換言之,如果沒有把表與表關聯起來 (join) 做成一張新表,重要的關聯性也會看不出來。而 Metabase 的探索式資料分析,會利用欄位定義的資訊來了解資料表之間的關聯關系,於是,就算是跨表才能看出的關聯性,全自動的探索式資料分析還是一樣會給出來。
下圖是 order 表自動產生的『美國每個州的交易數』。而 order 表裡並沒有地理資訊,是 account 表才有。
如果是有一定資料工程經驗的讀者,看到剛才的例圖,應該會覺得有點驚訝:「咦,這些事怎麼可能做得到?因為樣本資料庫的原始資料所記錄的美國各州名稱資訊,也只是用字串 (Text) 來記錄而已。」
確實,如果只利用樣本資料庫所挾帶的資訊,是不可能足已畫出上述的地理資訊圖的。另一方面,如果有另一組資訊,可以巧妙地補足這些資料欄位的後設資訊 (meta information),上述的繪圖不就可以自動化了嗎?
Metabase 特有的欄位定義 (Field Type) 功能,就是可以巧妙地補足上述的資料欄位後設資訊。注意:這些欄位定義的資訊,它們只存在於 Metabase 裡,並不儲存在 Metabase 所連結的資料倉儲裡。
對於一般人來說,使用 Metabase 最簡單上手的方式,就是應用閃電符號的自動化分析。而要讓自動化分析可以發揮地淋漓盡致,這需要 Metabase 的管理員在欄位定義事先投入相當的功夫。