接連講了幾期 Power Query,如果認真學習並且跟著步驟實操過的同學,相信已經掌握了一些簡單的 M 語言。
今天再給大家分享一個案例,如何在 Power Query 中添加分組索引?這個需求我曾經交過大家在 Excel 中如何實現,詳情請參閱 Excel 循環序號、按規定次數重複每個序號,這些你都會嗎?
如果大家了解了一些基礎的 M 語言,在 Power Query 中實現也非常簡單。
案例:
下圖 1 是各銷售人員一季度每個月的銷售額明細表,要求:
效果如下圖 2 所示。
解決方案:
1. 選中數據表的任意單元格 --> 選擇菜單欄的「數據」-->「從表格」
3. 選擇菜單欄的「轉換」-->「數據類型」-->「文本」
6. 在彈出的對話框中按以下方式設置 --> 點擊「確定」:
7. 將公式欄中的 「each_」 替換為以下代碼:
each Table.Sort(_,{{"銷售額", Order.Descending}})
上述代碼的作用是將每個分組內的「銷售額」按降序排序。
8. 點擊 Count 列標題右邊的展開按鈕 --> 在彈出的菜單中按以下方式設置 --> 點擊「確定」:
選擇「展開」
取消勾選「月份」
取消勾選「使用原始列名作為前綴」
此時的表格是以月份作為分組依據,每個月的銷售額降序排序。接下來我們開始設置每個月的分組序號。
10. 在彈出的對話框中按以下方式設置 --> 點擊「確定」:
12. 在彈出的對話框的公式區域寫入以下公式:
Table.AddIndexColumn([Count],"按月排名",1,1)
* 公式中的「[Count]」可以在右邊的區域中選中後,通過「插入」按鈕添加到左邊。
13. 將滑鼠放在自定列的標題上 --> 右鍵單擊 --> 在彈出的菜單中選擇「刪除其他列」
14. 點擊標題右邊的展開按鈕 --> 按以下方式設置 --> 點擊「確定」:
15. 選擇菜單欄的「主頁」-->「關閉並上載」-->「關閉並上載至...」
16. 在彈出的對話框中選擇「現有工作表」及需上傳的位置 --> 點擊「加載」