Wednesday, April 06, 2016

Different types of dimensions

Conformed Dimension

A conformed dimension is a set of data attributes that have been physically implemented in multiple database tables using the same structure, attributes, domain values, definitions and concepts in each implementation. A conformed dimension cuts across many facts.

Example: Date Dimension table can be shared by multiple fact tables. Date Dimension table connected to sales fact is identical to the one connected to inventory facts.

Junk Dimension

A junk dimension is a convenient grouping of typically low-cardinality flags and indicators. A Junk Dimension is a dimension table consisting of attributes that do not belong in the fact table or in any of the existing dimension tables. The nature of these attributes is usually text or various flags,

Example: non-generic comments or just simple yes/no or true/false indicators.

Degenerated dimension

A degenerated dimension is data that is dimensional in nature but stored in fact table, doesn’t have any dimensional table on its own.

Example: A dimension having Order Number and Order line number having 1:1 relationship with fact table. Instead of creating as a separate dimension, containing billions of rows, those 2 columns can be included as part of the fact table.

Role Playing dimension

Dimensions that can be joined to the same fact table multiple times, each time to a different column. These dimensions are referred to as role playing dimensions, as the same dimension plays different roles.

Example: Suppose, if you want to examine sales by order date, ship date and delivery date. Instead of creating 3 different date dimensions, create a single date dimension and join it to the fact table 3 times in data source view.

Parent-child dimension

Based on self-referencing relationship

Example: If you have a employee dimension and want to add parent child relationship to employee manager, you must include both employee key and parent employee key in your dimension as attributes.

Time Dimension

SSAS provides 2 ways of creating time dimension

• Base the time dimension on a dimension table that exists in a relational warehouse

• Create the time dimension based on system generated time values. (server time dimension)

No comments:

Post a Comment