Power Query將多個表合併為乙個表

2021-10-21 18:51:23 字數 1962 閱讀 3672

假設你正在為銷售和人力資源團隊開發 power bi 報表。 他們要求你建立乙個聯絡資訊報表,其中要包含每名員工、**商和客戶的聯絡資訊和位置。 hr.employees、production.suppliers 和 sales.customers 表中的資料如下圖所示。

但是,這些資料來自多個表,因此,這一困境確定了你如何合併這多個表中的資料並建立乙個真實資料**表以從中建立報表。 利用 power bi 的固有功能,可以將查詢合併到乙個表中。

在追加查詢時,你會將資料行新增到另乙個表或查詢中。 例如,你可能有兩個表,其中乙個表有 300 行,另乙個表有 100 行,在追加查詢後,最後將有 400 行。 在合併查詢時,你會將列從乙個表(或查詢)新增到另乙個表(或查詢)中。 若要合併兩個表,必須有乙個列是兩個表之間的關鍵值。

對於之前提及的情況,你將使用 production.suppliers 和 sales.customers 表對 hr.employees 表進行追加,因此你會有乙個聯絡資訊的主列表。 由於你想建立乙個表,此表要包含員工、**商和客戶的所有聯絡資訊,因此,當你合併查詢時,你的合併表中所需的相關列的命名必須與原始資料表中的命名相同,這樣才能看到乙個合併的檢視。

開始合併查詢之前,可以從表中刪除此任務不需要的無關列。 若要完成此任務,請將每個表的格式設定為只有四個包含你的相關資訊的列,並對它們進行重新命名,使它們全都具有相同的列標頭:id、company、name 和 phone。 以下影象是重格式化後的 sales.customers、production.suppliers 和 hr.employees 表的**片段。

完成重格式化後,可以合併查詢。 在 power query 編輯器功能區的「開始」選項卡上,選擇「追加查詢」的下拉列表 **** ****。 可以選擇「將查詢追加為新查詢」,這意味著追加的輸出將生成乙個新查詢或表,或者可以選擇「追加查詢」,這會將行從現有表新增到另乙個表中 ****。

下乙個任務是建立新的主表,因此需要選擇「將查詢追加為新查詢」 ****。 選擇後會轉至乙個視窗,你可以從中將要追加的表從「可用表」新增到「要追加的表」中,如下圖所示 **** ****。

在新增了要追加的表後,請選擇「確定」。 你將被路由到乙個新查詢,其中包含所有三個表中的所有行,如下圖所示。

現在,你已成功建立了包含員工、**商和客戶資訊的乙個主表。 你可以退出 power query 編輯器,然後生成圍繞此主表的所有報表元素。

但是,如果是想合併表,而不是將資料從乙個表追加到另乙個表,此過程將有所不同。

合併查詢時,你將基於表之間通用的列將資料從多個表合併到乙個表中。 此過程類似於 sql 中的 join 子句。 假設銷售團隊現在希望你將訂單和它們對應的詳細資訊(當前位於兩個表中)合併到單個表中。 可以通過合併 orders 和 orderdetails 這兩個表來完成此任務,如下圖所示。 這兩個表之間共享的列為 orderid ****。

轉到 power query 編輯器功能區上的「開始」,然後選擇「合併查詢」下拉列表,從中可以選擇「將查詢合併為新查詢」 ****。 此選擇將開啟乙個新視窗,從中可以選擇要從下拉列表中合併的表,然後選擇表之間匹配的列,在本例中為 orderid ****。 

還可以選擇如何聯接兩個表,這也是類似 sql 中的 join 語句的乙個過程。 這些聯接選項包括: 

對於這種情況,你將選擇使用「左外部」聯接。 選擇「確定」,這會將你路由到乙個新視窗,從中可以檢視你合併的查詢。

現在,你可以通過不同的方式合併兩個查詢或表,從而根據業務需求以最合適的方式檢視你的資料。

有關本主題的詳細資訊,請參閱 在 power bi 中調整和合併資料文件。

參見:

將實體對映到多個表

table secondtable name catalog schema pkjoincolumns 指定新資料表中的乙個或多個外來鍵,只有通過該外來鍵才可讓新資料表中的記錄參照到主表記錄,屬性 primarykeyjoincolumn uniqueconstraints 為新資料表指定唯一約束 ...

mysql將乙個表拆分成多個表

有乙個5000條資料的表,要把它變成每1000條資料乙個表的5等份。假設 表名 xuesi 主鍵 kid xuesi共有5000條資料,kid從1到5000自動增長 題目 將xuesi分成5個表 每個表1000條不同的資料 方法1 create table xuesi1 select from xu...

MYSQL使用Union將兩張表的資料合併顯示

union 用於連線兩個以上的 select 語句的結果組合到乙個結果集合中。多個 select 語句會刪除重複的資料。使用union操作符會將多張表中相同的資料取值一次,如果想將表1和表2中的值完整的顯示出來,可以使用union all。小夥伴們自行建立一下表。表1資料如下 表2資料如下 ok,表...