1. 程式人生 > >【轉載】Power Query-大量複雜資料的整理彙總

【轉載】Power Query-大量複雜資料的整理彙總

工作中,生活中不免會遇到需要整理大量複雜資料的情況,單純的靠手動去搜索統計固然可以,但是效率極其低下。

如下圖,列舉了1990年~2015年NBA美職籃全明星的參賽名單,現在需要統計出每個人的參賽次數。

實現效果如下:

下面直接來簡單談一下它的實現思路,首先我們整理掉一些不需要的資料,例如“NBA2008年全明星陣容”相關的字眼。

我們利用第一列的“文字篩選器”剔除掉開頭不為“NBA”的行。

接著利用我們熟悉的伎倆進行拆分操作。

根據分隔符“:”分割陣容以及姓名。

再根據“、”分割第二列資料(注意一定要選擇“在出現的每個分隔符處”)。

接著我們選中第一列,進行除此列外的逆透視列,這個功能一直覺得特別好用。

刪除我們不需要的列,更改列名,然後根據最後有一列姓名做分組依據。

大概的效果已經達成,但是我們的需求是將相同入選次數的明星都放在一起。

這個時候我們要做的還是分組依據(其實可以直接用函式完成,但是為了通俗易懂,鞏固之前所學的函式Text.Combine)。

這個時候出現了Error,意料之中,我們所需的函式閃亮登場了。

替換

Table.Group(分組的行, {"入選次數"}, {{"姓名", each List.Sum([姓名]), type text}})

Table.Group(分組的行, {"入選次數"}, {{"姓名", each Text.Combine([姓名]), type text}})

結果貌似略醜啊,原因是沒有分行顯示,這個時候介紹一個小竅門。

上面的Text.Combine可以新增一個分隔符,我們不妨直接新增分行符號。

Table.Group(分組的行, {"入選次數"}, {{"姓名", each Text.Combine([姓名],"#(lf)"), type text}})

這個時候大功告成!

然後儲存載入到新工作簿,發現格式錯了,完了,居然沒有換行。

不要慌張,這個是因為沒有點選“自動換行”。

最後我們按照次數降序排列,達到最終目的。