The second table expression will be evaluated for each row in the first table. Returns the crossjoin of the first table with these results.
Learn more about GENERATE in the following articles:
Using GENERATE and ROW instead of ADDCOLUMNS in DAX
This article explains how to improve DAX queries using GENERATE and ROW instead of ADDCOLUMNS when you create table expressions. » Read more
Other related functions are:
Contributors: Alberto Ferrari, Marco Russo
MSDN documentation: https://msdn.microsoft.com/en-us/query-bi/dax/generate-function-dax