How does the GENERATEALL function (DAX) work?
It returns a table with the Cartesian product between each row in table 1 and the table resulting from the table2 calculation in the context of the current row in table1.
GENERATEALL Formula Syntax
How do you use the GENERATEALL function?
All column names from table1 and table2 must be different or an error is returned.
Related Blog Posts
Related Support Forum Posts
Considerations when using the GENERATEALL function
If the evaluation of table2 for the current row in table1 returns an empty table, then the current row from table1 will be included in the results and columns corresponding to table2 will have null values for that row. This is different than GENERATE() where the current row from table1 will not be included in the results.
Related Video Tutorials
Formula examples using the GENERATEALL function
GENERATEALL( SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup]) ,SUMMARIZE(ProductCategory , [ProductCategoryName] , "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]) ) )