Excel之PowerQuery 多表關(guān)系處理
網(wǎng)友提問:

其實表關(guān)系,當你處理不了的時候,就去找創(chuàng)建表的人,他一定是最懂的那個。
外人不懂你的業(yè)務(wù),我能處理,但是方法不一定是最好的。PowerQuery處理完上載后使用DAX可以進一步分析。
用一句經(jīng)典的話來講:像我這種完全不知道這表是干什么的人,只能給你寫出代碼來,至于刷新時間,就不得而知了。解鈴還須系鈴人,建議找表的創(chuàng)建人處理。
傳說中有三張表,如下



變成:

將三張原始表放在一個工作簿中
再打開一個新的工作簿,數(shù)據(jù)~獲取數(shù)據(jù)~來自文件~從工作簿
1、先處理原始表2

先刪除重復(fù)行

保留需要的列,刪除不需要的列

2、主頁~合并查詢~將合并查詢做為新查詢

得到如下表格:

展開上表中【原始表2】這一列

得到結(jié)果:這張表的名字叫【合并1】

3、再新建合并查詢
合并1與原始表1,通過【材料】列左外連接

得到下表,這張表叫合并2

4、進入分析階段
我用截圖的方式,將每個Table的表都程現(xiàn)出來

他的目的是,當外面大表的金額與這一行【原始表1】那列的Table里面的金額相等時,就取那一行。如下圖所示,紅、藍、綠、灰都可以確定,但是到了黃顏色那里,它取賬單號重復(fù)的兩行,金額之和正好接近1542.87

5、開始行動,也是最關(guān)鍵的一步
新建列,篩選外面表金額=原始表1那列Table里面的金額時,就篩選,如果篩選表為空,那就對原始表1那列Table新建列對賬單號分組計數(shù),并篩選計數(shù)結(jié)果不等于1的,否則就返回篩選外面表金額=原始表1那列Table里面的金額的表。

我們只需要每個Table中的數(shù)據(jù)列,所以修改上面的公式:

6、展開這列

結(jié)果:

7、再展開這列

結(jié)果:

8、刪除不需要的列,排序你保留的列

上載后:

PS: 每次展開時,想做動態(tài)就用Table.ColumnName去獲取動態(tài)表頭,之前的文章中多次提到,在此不再重復(fù)。
本文章配套案例文件,請到評論區(qū)置頂下載

PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e
更多教程:https://www.bilibili.com/read/cv10222110