This article explains how to use SUMMARIZECOLUMNS, which is a replacement of SUMMARIZE and does not require the use of ADDCOLUMNS to obtain good performance.
The historical DAX function that aggregates and group data leveraging existing relationships is SUMMARIZE. Such a function requires a table in the first argument, which corresponds to the table that is grouped. You can include columns in other related tables, if one or more many-to-one relationships exist to reach the referenced tables. For example, you can write the following syntax to retrieve a table with year, color, and sales amount: