共用方式為


群組或總結列

在 Power Query 中,你可以根據一個或多個欄位的值將多個列的值分組成一個單一值。 你可以從兩種分組操作中選擇:

  • 欄位分組。

  • 行分組。

在這個教學中,你使用的是以下範例表格。

範例初始表格。

表格截圖,欄位顯示年份(2020年)、國家(美國、巴拿馬或加拿大)、產品(襯衫或短褲)、銷售通路(線上或經銷商)及單位數(從55到7500不等的各種數值)

在哪裡可以找到按按鈕群組

你可以在三個地方找到 Group by 按鈕:

  • Home 標籤, Transform 群組裡。

    Power Query 功能區的截圖,首頁標籤中強調了「群組依」選項。

  • Transform 標籤,在 Table 群組裡。

    Power Query 功能區的截圖,在轉換標籤中強調了「按群組」選項。

  • 在快捷選單中,當你右鍵點擊選取欄位時,

    一張表格截圖,快捷鍵選單中強調了「按群組」選項。

使用彙總函數將欄位分組為一個或多個欄位

在這個例子中,你的目標是彙總各國及銷售通路層級的總銷售量。 你可以使用 國家銷售渠道 欄位來執行分組操作。

  1. 「首頁」分頁選擇「按群組」
  2. 選擇 進階 選項,這樣你可以選擇多個欄位來分組。
  3. 選擇 國家 欄位。
  4. 選擇 新增分組
  5. 選擇 銷售通路 欄位。
  6. 「新欄位名稱」輸入 「總單位數」,在 「操作」中選擇 「總和」,在 「欄位」中選擇 「單位數」。
  7. 選擇 確定

「群組按鈕對話框」的截圖,已填入彙整欄位。

此操作會給出以下表格。

範例輸出表截圖,包含國家、銷售通路和總單位欄位。

可用操作

透過 「群組依」 功能,可用的操作可分為兩種分類:

  • 行級操作
  • 欄位層級操作

下表說明了這些操作的每一項。

作業名稱 類別 Description
Sum 欄位操作 彙總該欄的所有數值
平均 欄位操作 計算欄位的平均值
Median 欄位操作 從一欄計算中位數
Min 欄位操作 計算欄位的最小值
最大值 欄位操作 計算欄位的最大值
Percentile 欄位操作 利用輸入值從0到100從欄位計算百分位數
計算唯一值的數量 欄操作 計算欄位中不同值的數量
計數行數 排行操作 計算給定群組的總行數
計算不同行數 排行操作 計算給定群中不同行數
所有列 排行操作 輸出表格中所有分組的行,並且沒有執行聚合操作

備註

計算不同的值個數百分位數操作僅在 Power Query Online 上可用。

執行一個操作,將欄位分組為一個或多個欄位

從原始樣本開始,在此範例中,你建立一欄包含總單位,另外兩欄分別列出表現最佳產品的名稱與銷售單位,並依國家及銷售通路彙整。

範例輸出表的截圖,包含操作。

  1. 請使用以下欄位作為 按欄位分組

    • 國家
    • 銷售通路
  2. 請依照以下步驟建立兩欄:

    1. 使用加總操作來彙總單位欄位。 此欄名稱為 「總單位」。
    2. 透過使用「所有列」操作新增 Products 欄位。

    群組對話框的截圖,包含非彙總欄位。

完成操作後,請注意 Products 欄位中每個儲存格內都有 [Table] 值。 每個 [Table] 值包含了從原始表格中被 國家銷售管道 欄位分組的所有資料列。 你可以選擇儲存格內的空白,預覽對話框底部的表格內容。

表格詳細預覽窗格的截圖。

備註

詳細預覽窗格可能無法顯示所有用於分組操作的列。 你可以選擇 [Table] 值,查看所有與對應分組操作相關的列。

接著,你需要在新產品欄位中擷取 Units 欄位中值最高的那一列,並將該欄位稱為 Top Performer 產品

擷取表現最佳的產品資訊

使用帶有 [Table] 值的新產品欄位,你可以在功能區的「新增欄位」標籤中,從一般群組中選擇「自訂」欄位來建立新的自訂欄位。

Power Query 功能區的截圖,在新增欄位標籤中強調了自訂欄位選項。

你的新專欄名稱為 「頂尖表現產品」。 在Table.Max([Products], "Units" )中輸入公式

自訂欄位對話截圖,輸入了 Table.Max 的公式。

該公式的結果會產生一個新的欄位,欄位值為 [Record]。 這些記錄值本質上是一個只有一列的表格。 這些記錄包含每個 [Table] 值的 Products 欄位中 Units 欄位最大值的列。

搭配 Table.Max 使用的自訂欄位公式結果的截圖。

在這個包含[記錄]值的「頂尖表現者產品」欄位中,你可以選擇展開圖示、選擇產品單位欄位,然後選擇確定

Top Performer 產品欄記錄值展開操作的截圖。

移除 產品 欄位並設定兩個新展開欄位的資料型別後,結果會像以下圖片。

最終表格的截圖,包含所有轉換。

模糊分組

備註

以下功能僅在 Power Query Online 中提供。

為了示範如何進行「模糊分組」,請參考下圖所示的範例表格。

一張表格截圖,包含九行條目,包含Miguel和William名字的各種拼寫與大小寫。

模糊分組的目標是執行一種使用文字字串近似匹配演算法的分組操作。 Power Query 使用 Jaccard 相似度演算法來衡量實例對之間的相似度。 接著,它會應用聚合階層聚類來將實例群組在一起。 下圖顯示您所期望的輸出,表格按人物欄位分組。

一張表格截圖,顯示「Person」欄為 Miguel 和 Mike,而「Frequency」欄分別為 3 和 2。

要進行模糊分組,你執行本文先前描述的相同步驟。 唯一的差別是這次在「依群組排序」對話框中,您勾選了「使用模糊分組」選項。

模糊分組勾選框的截圖,重點放在「按群組」對話框中。

對於每一組資料列,Power Query 會選擇最頻繁的實例作為「典範」實例。 如果有多個實例以相同頻率出現,Power Query 會選擇第一個。 在「按群組」對話框選擇確定後,你會得到預期的結果。

模糊分組範例最終表的截圖,沒有轉換表。

不過,透過擴展 模糊群組選項,你可以更精確地控制模糊群組的操作。

群組對話框的截圖,模糊群組選項特別強調。

以下選項可用於模糊分組:

  • 相似度門檻(可選):此選項表示兩個數值必須多相似才能被歸類。 最小設定為零(0)時,所有值會被歸為一組。 最大設定為 1 時,只能將完全相同的數值分組在一起。 預設值是 0.8。
  • 忽略大小寫:當比較文字串時,忽略大小寫。 此選項預設為啟用。
  • 透過結合文字部分來分組:該演算法嘗試將文字部分(例如將 MicroSoft 合併成 Microsoft)來分組數值。
  • 顯示相似度分數:顯示輸入值與經過模糊分組後計算出的代表性值之間的相似度分數。 需要新增如 「所有列」 這類操作,以逐列層級展示這些資訊。
  • 轉換表(可選):你可以選擇一個轉換表,將數值對應(例如將 MSFT 映射到 Microsoft)並將其分組。

在此範例中,使用轉換表來示範如何映射值。 轉換表有兩欄:

  • 寄件人:表格中要尋找的文字字串。
  • 收件人:用來替換 「From 」欄位文字字串的文字字串。

下圖展示了此範例中使用的轉換表。

表格截圖顯示 From 的 Mike 和 William 的值,以及 To 的 Miguel 和 Bill 的值。

這很重要

重要的是,轉換表的欄位和欄位名稱必須與前一張圖片相同(必須標示為「From」和「To」)。 否則 Power Query 不會將該資料表識別為轉換資料表。

返回「 按群組」 對話框,展開 模糊群組選項,將操作從 「計數列 」改為 「全部列」,啟用 「顯示相似度分數」 選項,然後選擇「 轉換表 」下拉選單。

模糊分組範例轉換表下拉選單的截圖。

選擇轉換表後,選擇 確定。 該操作的結果會給你以下資訊:

模糊分組範例最終表的截圖,包含轉換表。

在此範例中,啟用了 忽略大小寫 選項,因此轉換表中 From 欄位的值用來尋找文字字串,而不必考慮字串的實況。 此轉換操作先進行,接著執行模糊分組操作。

相似度分數也會顯示在人物欄位旁的表格值中,精確反映這些值的分組方式及其相似度分數。 如果需要,你可以擴充此欄位,或使用新 頻率 欄位的值來做其他類型的轉換。

備註

當以多欄分組時,若替換值會增加相似度分數,轉換表會在所有欄位執行替換操作。

欲了解更多轉換表的運作方式,請參考「轉換表原則」。