【轉載】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}})
這個時候大功告成!
然後儲存載入到新工作簿,發現格式錯了,完了,居然沒有換行。
不要慌張,這個是因為沒有點選“自動換行”。
最後我們按照次數降序排列,達到最終目的。