How do aggregations work in SSAS

ssas

I understand the concept of pre-aggregating data so that multi dimensional queries perform faster, but the descriptions I've seen of aggregations in SSAS seem to imply that an aggregation only involves a single dimension or attribute. For example the example in this article shows an aggregation for just time:

http://msdn.microsoft.com/en-us/library/ms174587.aspx

How does SSAS leverage such an aggregation when you query with attributes from two different dimensions such as route and time? It would have to somehow take the aggregation for 2nd Quarter packages of 6005 and break it up into sea, air, etc. which I don't see how it would be able to do that without simply going back to the leaf level data.

The only other possibility I could imagine is that it has pre-aggregations which store many possible combinations of dimensions.

Since you can't actually view the pre-aggregated data, to see what its little wizard comes up with, it is difficult for me to visualize how this works. (I'm the kind of person who has to know the low level details before I really feel like I understand something and can use it properly).

How are aggregations structured, and how is SSAS able to leverage a pre-aggregation for queries which query multiple dimensions?

Best Answer

When a cube is "materialized", all combinations of aggregates over all dimensions are computed and stored.. the WITH CUBE operator does exactly this..

http://msdn.microsoft.com/en-us/library/ms175939%28v=sql.90%29.aspx