Oct 25, 2020 In Power BI you can create relationship between tables but there is some limitation with Power BI relationship, like you cannot create relationship (or join two tables) with multiple columns. But in Power Query you can join tables with multiple columns conditions, under merge queries you can perform with all joins, so lets get started. Mar 02, 2021 In simple terms, Power Query (also known as Get & Transform in Excel 2016 and Excel 2019) is a tool to combine, clean and transform data from multiple sources into the format you need such as a table, pivot table or pivot chart.-->
A merge queries operation joins two existing tables together based on matching values from one or multiple columns. You can choose to use different types of joins, depending on the output you want.
You can find the Merge queries command on the Home tab, in the Combine group. From the drop-down menu, you'll see two options:
The merge operation requires two tables:
The position—left or right—of the tables becomes very important when you select the correct join kind to use.
After you've selected both the left and right tables, you can select the columns that drive the join between the tables. In the example below, there are two tables:
Merge dialog box with the Left table for merge set to Sales and the CountryID column selected, and the Right table for merge set to Countries and the CountryID column selected.
The goal is to join these tables by using the CountryID column from both tables, so you select the CountryID column from each table. After you make the selections, a message appears with an estimated number of matches at the bottom of the dialog box.
Although this example shows the same column header for both tables, this isn't a requirement for the merge operation. Column headers don't need to match between tables. However, it's important to note that the columns must be of the same data type, otherwise the merge operation might not yield correct results.
You can also select multiple columns to perform the join by selecting Ctrl as you select the columns. When you do so, the order in which the columns were selected is displayed in small numbers next to the column headings, starting with 1.
For this example, you have the Sales and Countries tables. Each of the tables has CountryID and StateID columns, which you need to pair for the join between both columns.
First select the CountryID column in the Sales table, select Ctrl, and then select the StateID column. (This will show the small numbers in the column headings.) Next, perform the same selections in the Countries table. The following image shows the result of selecting those columns.
![Merge dialog box with the Left table for merge set to Sales, with the CountryID and StateID columns selected, and the Right table for merge set to Countries, with the CountryID and StateID columns selected. The Join kind is set to Left outer.
After selecting OK in the Merge dialog box, the base table of your query will have all the columns from your left table. Also, a new column will be added with the same name as your right table. This column holds the values corresponding to the right table on a row-by-row basis.
From here, you can choose to expand or aggregate the fields from this new table column, which will be the fields from your right table.
Table showing the merged Countries column on the right, with all rows containing a Table. The expand icon on the right of the Countries column header has been selected, and the expand menu is open. The expand menu has the Select all, CountryID, StateID, Country, and State selections selected. The Use original column name as prefix is also selected.
Currently, the Power Query Online experience only provides the expand operation in its interface. The option to aggregate will be added later this year.
A join kind specifies how a merge operation will be performed. The following table describes the available join kinds in Power Query.
|Left outer||All rows from the left table, matching rows from the right table|
|Right outer||All rows from the right table, matching rows from the left table|
|Full outer||All rows from both tables|
|Inner||Only matching rows from both tables|
|Left anti||Only rows from the left table|
|Right anti||Only rows from the right table|
You use fuzzy merge to apply fuzzy matching algorithms when comparing columns, to try to find matches across the tables you're merging. You can enable this feature by selecting the Use fuzzy matching to perform the merge check box in the Merge dialog box. Expand Fuzzy matching options to view all available configurations.
Fuzzy matching is only supported for merge operations over text columns.