10.11.2012 Views

Expert Cube Development with Microsoft SQL Server 2008

Expert Cube Development with Microsoft SQL Server 2008

Expert Cube Development with Microsoft SQL Server 2008

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

We have two choices:<br />

•<br />

•<br />

[ 17 ]<br />

Chapter 1<br />

Create a very simple dimension for each of these attributes. This will lead<br />

to rapid growth in the number of dimensions in the solution, something the<br />

users will not like because it makes the cube harder to use.<br />

Merge all these attributes in a so-called "Junk dimension". A junk dimension<br />

is simply a dimension that merges together attributes that do not belong<br />

anywhere else and share the characteristic of having only a few distinct<br />

values each.<br />

The main reasons for the use of a junk dimension are:<br />

•<br />

•<br />

•<br />

If we join several small dimensions into a single junk dimension, we will<br />

reduce the number of fields in the fact table. For a fact table of several million<br />

rows this can represent a significant reduction in the amount of space used<br />

and the time needed for cube processing.<br />

Reducing the number of dimensions will mean Analysis Services performs<br />

better during the aggregation design process and during querying, thereby<br />

improving the end user experience.<br />

The end user will never like a cube <strong>with</strong> 30 or more dimensions: it will be<br />

difficult to use and to navigate. Reducing the number of dimensions will<br />

make the cube less intimidating.<br />

However, there is one big disadvantage in using a junk dimension: whenever we join<br />

attributes together into a junk dimension, we are clearly stating that these attributes<br />

will never have the rank of a fully-fledged dimension. If we ever change our mind<br />

and need to break one of these attributes out into a dimension on its own we will not<br />

only have to change the cube design, but we will also have to reprocess the entire<br />

cube and run the risk that any queries and reports the users have already created<br />

will become invalid.<br />

Degenerate dimensions<br />

Degenerate dimensions are created when we have columns on the fact table that<br />

we want to use for analysis but which do not relate to any existing dimension.<br />

Degenerate dimensions often have almost the same cardinality as the fact table;<br />

a typical example is the transaction number for a point of sale data mart. The<br />

transaction number may be useful for several reasons, for example to calculate<br />

a "total sold in one transaction" measure.<br />

Download at Boykma.Com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!