Syntax
GENERATEALL(<table1>, <table2>)
Tutorial with example
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:

What 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:
NATURALINNERJOIN, NATURALLEFTOUTERJOIN:
04:35 Innerjoin
07:59 Outer join

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
- If the evaluation of table2 for the current row in table1 returns an empty table, then the result table will not contain the current row from table1. This is different than GENERATEALL() where the current row from table1 will be included in the results and columns corresponding to table2 will have null values for that row.
- All column names from table1 and table2 must be different or an error is returned.
Was this helpful?
Leave a Reply