iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0
AI & Data

Power BI Desktop 零基礎學習筆記系列 第 21

[Day21] Power Query 查詢!

  • 分享至 

  • xImage
  •  

1.複製查詢 V.S. 重複查詢

這兩個看起來很像,但其實還是不相同的觀念。
當今天你要將在A檔案的Power Query複製某查詢到B檔案的Power Query中時,你需要使用的就是「複製查詢」。
而今天若是要在同一個A檔案中複製相同的查詢出來,以便可以在同一張資料表中做不同的正規化時,這個就叫做「重複查詢」。
雖然名詞看起來很難記,但我們可以不用這麼執著於名詞,只要知道如何使用即可。因此當今天是要使用「複製查詢」時,請在該查詢上按右鍵選擇「複製」,並開啟一個新的Power BI Desktop環境後進到Power Query編輯器,一樣按下右鍵選擇「貼上」即可。
img
而至於「重複查詢」更加簡單,同樣到想要複製的查詢上點選右鍵,選擇「重複」
img
就會看到一個新的查詢產生了,這時就可以將這個新的查詢進行更名,並且做其他想要的正規化步驟
img

2.參考查詢

參考查詢會產生一個新查詢,並與前查詢連結,當B參考A查詢時,A查詢有做任何變動時,B查詢也會跟著變動,但當B查詢做任何變動時,A查詢並不會變化,這就是參考查詢。作法也相當簡單,首先找到要參考的查詢按右鍵選擇「參考」
img
這樣就會自動新增一個參考的查詢了喔!
img
我們也可以從右側的查詢設定中看到並驗證這個確實是參考的查詢,首先我們先靠到被參考的查詢(台北市房屋銷售)
img
可以從查詢中看到目前已經做三個步驟了,接著點選參考的查詢(台北市房屋銷售(參考))
img
可以看到右側只有一個來源,而這個來源的具體內容可以看到上方的公式列有寫「= 台北市房屋銷售」,也就是它的來源是台北市房屋銷售那個查詢。因此可以這個是參考資料表喔!

3.合併查詢

合併查詢的用途是來做關聯是資料表的串接,之前有說到要做資料表的關聯還有拉關聯線是在Power Pivot裡面做,但為什麼在Power Query內也可以做呢?原因是通常在使用Power Query時都還沒使用Power Pivot,因此在用Power Query時資料會比較複雜,此時就可以先用合併查詢來做簡單的關聯,再把關聯帶到Power Pivot內。

而合併查詢又分為內嵌合併和中繼合併,內嵌合併是指直接影響原查詢,而中繼合併則是合併成一個新查詢。就實務上來說,通常會使用中繼合併以確保原先資料的完整性。

或許看完以上說明還有點模糊,因此我也會進行實際的操作,讓大家可以看看合併查詢是不是你想要用的效果?首先先選擇其中一張要進行合併查詢的查詢,並點選「常用」下面的「合併查詢」裡面的「將查詢合併為新查詢」(也就是中繼查詢)
img
再來上面第一個應該會是你剛剛選的那個資料表,因此下面要選擇第二個你要與第一個合併的資料表
img
再來選擇這兩個資料表要進行關聯的欄位,須注意這兩個要進行關聯的欄位名稱可以不相同但資料內容必須要相同,這樣關聯起來才不會有問題喔。我們可以從視窗下方的綠色勾勾得知到全部符合就是正確的!
img
再來就可看到有一個新的合併產生,主要內容為銷售明細的資料,而最後一欄是產品資料的資料。此時看到裡面每一格都是Table的字樣,是因為我們還沒選擇要哪些欄位,因此要先點選標頭右側的小小箭頭來選擇!
img
再來這邊可以選擇一到多個欄位,比較要注意的是建議把「使用原始資料行名稱做為前置詞」這個勾勾拿掉,因為這個會讓欄位名稱變長。
img
完成!!
img

4.附加查詢

附加查詢跟合併查詢很像,合併查詢等於是在一個原有的資料表上新增欄位,而附加查詢不同的地方在於,它是將兩個架構相同的資料進行合併,因此不會新增欄位,而是在相同欄位的情況下新增列數。
因此使用的時機點通常是今天收到其他部門給你的報表後,你需要新增至你現有的資料表中,而且這新的報表跟你的報表格式是相同時,就可以使用附加查詢。

使用作法也很簡單,首先點選主要的資料表(資料表內的內容會顯示在上方列),並點選「常用」下面的「附加查詢」裡面的「將查詢附加為新查詢」
img
接著可以看到一個視窗,這邊是要看要附加幾個資料表而有所不同,這邊因為我只有兩張要附加,因此就如下圖這樣選擇
img
完成~~
img


上一篇
[Day20] 寬表格&長表格
下一篇
[Day22] Power Query 分組
系列文
Power BI Desktop 零基礎學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言