15、Power Query-行列管理实例应用
Power Query-行列管理實例應用
數據源如下圖,是學生三門課程的考試成績,其中有一次通過的,有考過多次的:
要求:
1、找出每個課程考試三次以上的(包含三次);
2、找出三個課程同時一次考試通過的;
3、找出每個課程一次考試通過的;
貌似以現在我們的excel功能很難做到,下面我們就用PQ的方式跟大家講講具體的實現。
我們用之前學過的數據導入方式;"從excel文件導入“的方式導入。
上圖就是我們處理過后的數據源。
然后我們需要找出沒門課程考試三次及以上的童鞋,看似有點難度,其實就是要找出前面兩列數據出現過三次及以上的記錄。
所以我們需要選中前面兩列,點擊”開始“——”刪除重復項“——”保留重復項“(2013版本是”保留行“——”保留重復項“)。
現在就把一次通過的記錄都刪掉了。
留下來的都是兩次及兩次以上的記錄,跟我們的需要貌似還差一點。
其實我們進行每一次的操作,excel都是有代碼支持,最簡單的方式就是進入它的高級編輯器,找到如下字眼:
selectDuplicates = Table.SelectRows(addCount, each [Count] > 1)
像我英文這么好,編程又這么好的人一眼就看出來是什么意思了,這里的>1其實就是找出出現過一次以上的記錄行。
很明顯咯,我們把這里改成">2"不就大功告成了!
然后這里已經可以滿足我們的要求了,但是我們是很嚴謹的啊,繼續,修改列名,然后分組依據,求出他考了到底多少次,最后的分數是多少。
這樣應該差不多了。
第二個需求是找出一次性通過的名單。
這個可以依葫蘆畫瓢了,選中前面兩列,”保留行“——”保留重復項“。
我們把高級編輯器里改成”<2”,不就是一次通過的么!
將它轉換程一個二維表。
選中“姓名”列,“轉換”——“透視列”。
最后一個需求有點變態,是要找出所有課程都一次通過的名單。比如上面的陶勇,他的英語沒有通過,是不給顯示的。
我們依舊用透視列的功能。
千萬記得選中“不要聚合”,為什么呢?因為只有一條記錄的才會顯示正確,否則都是error。
最后我們選中分數列(最好是對于數字列全部選中)用行列功能管理里的“開始”——“刪除行”——“刪除錯誤”。
搞定,相當流弊的功能啊!
總結
以上是生活随笔為你收集整理的15、Power Query-行列管理实例应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 反复下蹲,你的膝盖响几下?
- 下一篇: 光阴