Is the term used to describe the level at which you store data in the business intelligence platform. A generally accepted principle of data warehousing is that you capture from source systems data at the lowest level possible because it is easier to summarise (or aggregate) data than to disaggregate it.
For example, it is preferable to capture all components of transactions (such as the cost of a subscription, the agent fee, and GST separately) rather than simply the total amount. In this example, the former components are called the ‘lowest level of
grain’ and the later is an ‘aggregate’.
In data marts, the lower levels of
grain are often available at summary levels because doing so makes queries much, much faster and it is a business requirement to provide summary data – so it makes sense to do it once when the data
mart is refreshed (with new data) rather than each time a user requires it in when running a report.
Aggregates are a two-edged sword: they improve performance, but they take resources to build and maintain. The advice for the data warehousing team is generally to build aggregates where base data is dense (i.e. there is a lot of it), for frequently run queries, where the resulting aggregate is stable (meaning that is will not have to be changed often), and where the reduction in data volume is significant (that’s where the performance benefit is realised).
Refer also to Facts