Syntax
NATURALINNERJOIN(<leftJoinTable>, <rightJoinTable>)
PART 1: Tutorial with example
In today’s video I will show you how to do an inner join and outer join of tables using DAX.
04:35 Innerjoin
07:59 Outer join
PART 2: Tutorial with example
Have you got the this error ‘NATURALINNERJOIN’ doesn’t support joins by using columns with different data types or lineage when using the function? In this quick video I will show you how to solve it.
Want to learn more about other types of join possible in Power BI?
In the video below, I go through all the different types of joins and how to do them in Power Query:
Download the excel demo file
Joins using DAX:

And the explanation with videos:
The generate function is used to join tables. With generate, you can do an inner join and outer join of tables using DAX:
GENERATE, GENERATEALL:
More tutorials on Joining tables: CROSSJOIN
In this video I will show you how to do an anti join of tables using DAX:
EXCEPT:
Download example file:
Link to sample pbix here
Remarks
There is no sort order guarantee for the results.
Columns being joined on must have the same data type in both tables.
Only columns from the same source table (have the same lineage) are joined on. For example, Products[ProductID], WebSales[ProductdID], StoreSales[ProductdID] with many-to-one relationships between WebSales and StoreSales and the Products table based on the ProductID column, WebSales and StoreSales tables are joined on [ProductID]
Strict comparison semantics are used during join. There is no type coercion; for example, 1 does not equal 1.0.
Hello Ruth
I don´t get download the file, unfortunately I received connection error, the message ” ERR_CONNECTION_RESET ” .
Is there another way to download
thanks a lot
Heron
Hi,
Can you please try again? It works for me!
https://192.168.1.57:5001/sharing/k9nLfdLZO
/Ruth
Great explanation for a much misunderstood subject.
Thanks Christopher!! 🙂
/Ruth