Previous Page | Next Page

Maintaining OLAP Groups and OLAP Summary Data Stores

Analyzing Detail Data for an OLAP Application


Understanding Detail Data

Detail data is information that is at or near the fact level in a database. It is the data that an OLAP application intends to analyze. In SAS/Warehouse Administrator, detail data is stored in

To understand what detail data consists of, consider an OLAP application to analyze the sales of toys for which the detail data represents toy sales transactions across several product lines and manufacturers. For the Toy Store Warehouse, a Subject named Toy Sales contains the Detail Logical Table named Sales Detail Grp, which is physically stored as a SAS SQL view named DATA.STAR. Sales Detail Grp Detail Logical Table shows some of the detail data in the Detail Logical Table.

Note:   For an explanation of how the Detail Logical Table is created and a complete description of its contents, see Example: Creating a Detail Logical Table as a View to Multiple Detail Tables.  [cautionend]

Sales Detail Grp Detail Logical Table

[Sales Detail Grp Detail Logical Table]

To understand the detail data, consider the following:


Determining Dimensions in the Data

To perform OLAP reporting, the detail data must be summarized into multidimensional views, which is a way of looking at data that is organized into dimensions. A dimension acts as an index by which you can access facts according to the value (or values) you want. A dimension is a logical grouping of related columns.

For example, continuing with the Sales Detail Grp detail data, you could organize the data into these dimensions by grouping class columns based on related characteristics:

Time Dimension

Year, Season, Quarter, Month, Week, Date

Promotion Dimension

Promotion Type, Promotion

Drop Dimension

Target, Category, Delivery, Drop Date, Drop Description

CustomerIncome Dimension

Income Group, Income, Customer Name

CustomerAge Dimension

Age Group, Age, Customer Name

CustomerGender Dimension

Gender, Customer Name

Product Dimension

Company, Class, Brand, Type, Product

Geography Dimension

Country, Region, State, City, Zipcode


Determining Hierarchical Relationships within Dimensions

After you have class columns grouped into dimensions, you should then determine whether there are hierarchical relationships among the class columns within each dimension. That is, if the class columns within a dimension have a hierarchical relationship, each hierarchy would provide a navigational path in order to drill down (or up) to increasing (or decreasing) levels of detail.

For example, for the Detail Logical Table Sales Detail Grp, assume that the OLAP application intends to explore the Time dimension (which groups class columns year, season, quarter, month, week, and date) in multiple ways. Therefore, three separate hierarchies can be defined as follows:

TimeWeek Hierarchy

Year, Week, Date

TimeQuarter Hierarchy

Year, Quarter, Month, Date

TimeSeason Hierarchy

Season, Date


Determining Crossing(s)

A crossing is a unique list of one or more class columns that defines a summarization level (subtable) to be stored in one or more OLAP summary data stores. That is, a crossing represents a grouping on which summary statistics are calculated. A crossing represents the physically stored data, which provides the quick response when displaying a report in an OLAP application. For each crossing, there is a single record for each unique combination of values of all named class columns in the original input detail data (population).

There are several methods you can use to help determine crossings. For example, to create a starting point for defining crossings, you can model the data using a spiral diagram. Using the toy sales hierarchies, the steps below create the spiral diagram shown in Spiral Diagram for Toy Sales Detail Data:

Spiral Diagram for Toy Sales Detail Data

[Spiral Diagram for Toy Sales Detail Data]

  1. First, draw an axis for each hierarchy. Then, place the class columns on the appropriate axes (working from the outside to the center) in ascending order of cardinality (number of unique values).

    Note:   The placement of axes in relation to each other can be significant. Try several arrangements to find one that works best. For example, you could arrange the axes in descending order of likelihood of use, in descending order of cardinality at the top dimensional level, or in descending order of number of levels.  [cautionend]

  2. Draw a spiral on the diagram to indicate a general ordering scheme for the columns. Start on the outside with the class column with the lowest cardinality, which is also the one most likely to be of interest to OLAP users, and draw a line from this column to an adjacent column. Continue spiraling in toward the center, as shown in Spiral Diagram for Toy Sales Detail Data.

  3. Looking at the spiral diagram, you can produce an ordered list of class columns. Most likely, the more important class columns with the lowest cardinality are at the top and the most detailed class columns with high cardinality are at the bottom. For this example, the order would be:

    Year

    Country

    Company

    Gender

    G_Age

    G_Income

    Target

    Promo_ty

    Season

    Quarter

    Region

    PClass

  4. From this list, you can develop a reasonable initial choice of crossings. Start with the entire list and successively drop the highest cardinality column in a "stair-step" fashion to form additional crossings as follows:

    Year Country Company Gender G_Age G_Income Target Promo_Ty Season Quarter Region PClass
    Year Country Company Gender G_Age G_Income Target Promo_Ty Season Quarter Region 
    Year Country Company Gender G_Age G_Income Target Promo_Ty Season Quarter 
    Year Country Company Gender G_Age G_Income Target Promo_Ty Season 
    Year Country Company Gender G_Age G_Income Target Promo_Ty 
    Year Country Company Gender G_Age G_Income Target 
    Year Country Company Gender G_Age G_Income 
    Year Country Company Gender G_Age 
    Year Country Company Gender 
    Year Country Company 
    Year Country 
    Year 

Previous Page | Next Page | Top of Page