Excel之PowerQuery 分組時(shí)如何避免手寫過多的字段名
網(wǎng)友提問:


解釋網(wǎng)友的問題:
網(wǎng)友的意思是,現(xiàn)在只有北京、上海、深圳,假設(shè)有100個(gè)城市難到要聚合100次嗎?

肯定不需要的,解決問題的方法有很多,我隨便說一種,不一定是最好的。
解答網(wǎng)友的問題:
1、將數(shù)據(jù)導(dǎo)入PowerQuery

2、關(guān)鍵的一步,我們循序漸進(jìn)的思考
(1)分組:這個(gè)x代表分組后數(shù)據(jù)列的每個(gè)Table

(2)將每個(gè)Table按列轉(zhuǎn)成列表

現(xiàn)在Table.ToColumns(x) 代表數(shù)據(jù)列每個(gè)List

(3)我們只需要對(duì)第2列到最后一列的數(shù)據(jù)進(jìn)行聚合,所跳過第一個(gè)List
現(xiàn)在?List.Skip(Table.ToColumns(x),1)? 代表數(shù)據(jù)列的每個(gè)List

(4)遍歷數(shù)據(jù)列每個(gè)List,對(duì)每個(gè)List中的每個(gè)小List應(yīng)用List.Sum聚合
現(xiàn)在紅框內(nèi)的代碼代表數(shù)據(jù)列每個(gè)List

(5)數(shù)據(jù)列每個(gè)List就是目標(biāo)表中產(chǎn)品ABC對(duì)應(yīng)的城市值
我們利用記錄來自列表把城市名給他補(bǔ)上

現(xiàn)在紅框內(nèi)的代碼代表數(shù)據(jù)列的每個(gè)Record(記錄)

(6)將記錄轉(zhuǎn)成表

表頭使用 Table.ColumnNames(更改的類型),1) 表示?
現(xiàn)在紅框內(nèi)的代碼代表數(shù)據(jù)列每個(gè)Table

3、展開
點(diǎn)紅圈處展開

得到結(jié)果

這一步可以寫成動(dòng)態(tài),我們之前反復(fù)講過,多次使用過,不再重復(fù)講解,可參考:https://www.bilibili.com/read/cv19261128/?from=readlist

PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e/