樞紐分析表

瞭解如何在 Metabase 中使用不同的資料庫建立樞紐分析表。

什麼是樞紐分析表? 樞紐分析表是一種以表格方式摘要和群組資料的方法。它們是分析師工具組中的重要工具,因為它們是呈現和重新排列大量資訊的有效方式。以下是它們的運作方式

在 Metabase 中建立樞紐分析表時,不支援的資料庫

目前 Metabase 中的下列資料庫無法使用樞紐分析表

  • Druid
  • MongoDB

樞紐分析表適用於所有其他官方支援的資料庫

樞紐分析表 vs. 一般表格

您的一般基本表格是儲存格網格。每個欄代表單一記錄的屬性,每列一個記錄。

樞紐分析表是一種表格,可將列和欄分組,並包含具有這些群組彙總值的摘要列。這些彙總值通常稱為小計和總計,但這些彙總也可以是其他值,例如平均值。

它們之所以稱為樞紐分析表,是因為您可以將欄旋轉(「樞紐分析」)90 度,使該欄中的值本身成為欄標題。當嘗試跨多個屬性(例如時間、位置和類別)分析資料時,將值樞紐分析到欄標題中可能會非常有幫助。您可以將多列樞紐分析到欄,反之亦然,或完全不樞紐分析。

但這一切都非常抽象,因此讓我們引導您完成一個範例,讓您瞭解樞紐分析表的工作原理。

如何建立樞紐分析表:範例

首先,假設我們想知道

  • 訂單帶來的年度營收有多少
  • 針對每個州(即,我們的客戶住在哪里?)
  • 以及這些訂單如何按產品類別細分

以下是我們使用查詢產生器的查詢

Query Builder with a preview of the question

在這裡,我們從 Orders 表格中取得資料並摘要記錄。我們依 User → StateCreated At(按年份)和 Product → Category 將訂單分組。針對每個群組(例如 2017 年的阿拉斯加),我們計算訂單數量並加總這些訂單的小計。(請注意,即使我們僅在資料區段中選取了 Orders 表格,Metabase 也會自動聯結 ProductsPeople 表格以取得州和類別資料。)

產生的表格是一般表格,每列代表州、年份和產品類別的組合。

現在,假設針對每個州,我們也想知道每個州年度小計的總和(例如,在所有年份中,阿拉斯加的 Doohickey 產品訂單賺了多少錢?)。若要找出答案,我們可以自行加總小計,或使用樞紐分析表為我們計算該數字。在螢幕的左下角,按一下 視覺化 > 樞紐分析表

The pivot table is born.

在我們的樞紐分析表中,Metabase 已將列、欄和值設定如下

  • 列:User → StateCreated At(按年份)
  • 欄:Product → Category
  • 值:CountSum of Subtotal

與平面表格一樣,樞紐分析表可讓我們看到,例如,在 2020 年,我們在阿拉斯加 (AK) 的客戶總共購買了 11 件 Doohickey 產品,總計 $867.63 美元。但現在樞紐分析表已將與阿拉斯加相關的列分組,並提供這些阿拉斯加列的小計,讓我們可以看到問題的答案:阿拉斯加人在 2016 年至 2020 年間購買了 103 件 Doohickey,總計 $6,900.43 美元。

除了群組小計之外,樞紐分析表也包含列總計和欄總計

  • 列總計範例:跨所有州的所有 Doohickey 訂單總數。
  • 欄總計範例:阿拉斯加所有產品類別的小計總和。

我們可以透過摺疊和展開列群組來瀏覽表格

Collapsed rows on a pivot table, showing only the groupings subtotals. Only Colorado

現在,讓我們嘗試樞紐分析表格。在螢幕的左下角,我們將按一下 設定。若要樞紐分析表格,我們將在三個儲存區之間移動欄位:列、欄和值。

單一儲存區的順序很重要,因此讓我們從簡單地重新排列單一儲存區(列儲存區)內的表格開始。如果我們切換用於表格列的欄位順序,將 Created At 放在 User → State 上方,表格將會重新排列自身

Reordering the columns within a single bucket rearranges the table.

現在表格會先依年份分組,然後細分每個州別中各產品類別的訂單。

我們也可以交換不同分類欄位之間的欄位,例如將 Product → Category 從欄移到列,並將 User → State 從列移到欄。

Pivoting to group rows by product category.

您也可以關閉特定列分組的小計

You can toggle subtotals on or off.

與平面表格一樣,我們有一些排序和格式化選項,並且可以點擊表格中的值以調出「向下鑽取」選單,這將讓我們可以向下鑽取資料

Sorting and formatting options, as well as the action menu.

如何建立樞紐分析表:限制

樞紐分析表僅適用於支援聯結和運算式的關聯式資料庫,因此您無法將它們與像 MongoDB 這樣的資料庫一起使用。它們也僅適用於使用查詢產生器組成的問題。這裡的權宜之計是,如果您必須使用 SQL 來組成問題,您可以儲存該問題,然後使用其結果作為起點來建立查詢產生器問題,以便建構問題。這裡的訣竅是在 GUI 問題中進行彙總和分組。也就是說,使用 SQL 問題來抓取您想要使用的原始資料(也許建立模型),然後啟動一個新的 GUI 問題來篩選、摘要和分組該資料。

例如,若要使用 SQL 問題來建立我們上面建立的樞紐分析表,您首先需要編寫一個 SQL 查詢來取得您想要使用的原始資料

SELECT people.state,
       products.category,
       orders.subtotal,
       orders.created_at
FROM   orders
       INNER JOIN products
               ON orders.product_id = products.id
       INNER JOIN people
               ON orders.user_id = people.id

請注意,我們在這裡只是抓取記錄;沒有摘要或分組。接下來,我們儲存該 SQL 問題(在此命名為 樞紐分析表原始資料),並啟動一個新的查詢產生器問題,使用該問題的結果作為其起始資料。

Picking a saved question as your starting data.

現在我們可以計數、加總和分組我們的結果

The Query Builder summarizing data from a saved question.

當我們視覺化此問題時,我們現在將能夠使用樞紐分析表視覺化來查看群組小計和總計。

延伸閱讀

下一步:漏斗圖

使用漏斗圖顯示步驟的進展。

下一篇文章