GENERATE, GENERATEALL – DAX Guide

GENERATE: The second table expression will be evaluated for each row in the first table. Returns the crossjoin of the first table with these results.
https://dax.guide/generate/

GENERATEALL: The second table expression will be evaluated for each row in the first table. Returns the crossjoin of the first table with these results, including rows for which the second table expression is empty.
https://dax.guide/generateall/