As a general practice, the data warehouse is maintained at the lowest granular level. Data warehouse performance bottlenecks are often due to measure aggregation. For example, to have some amount of dollars at different levels of dimension hierarchy, a calculation will be needed at runtime. This will impact the performance. Business users should wait for the result set until the calculation regarding the required aggregation is done. Based on the amount of data, the calculations at runtime will be very resource intensive.
So in order to improve the performance of the queries, we're going to use aggregate tables (summary tables). Aggregate tables store precomputed measure values that have been aggregated at different levels of hierarchies. These tables will make the queries run faster. After having aggregate tables, the queries won't consume as much hardware resources as before.