Dimensional Model Types

advertisement

Basic Model: Retail Grocery

Store

 Process: Retail Sales

 Grain: POS line item

 Dimensions: Date, Store, Product, Promotion

 Facts: Sales Quantity, Sales Dollar Amount,

Cost Dollar Amount, Gross Profit Dollar

Amount.

Model

DATE

DateKey

Attributes

STORE

StoreKey

Attributes

POS FACT

DateKey

ProductKey

StoreKey

PromotionKey

POSTransactionNumber

SalesQuantity

SalesDollarAmount

CostDollarAmount

GrossProfitDollarAmount

PRODUCT

ProductKey

Attributes

PROMOTION

PromotionKey

Attributes

Possible Date Attributes

SQL date

Full date description

Day of week

Day of month

Day of calendar year

Day of fiscal year

Month of calendar year

Month of fiscal year

Calendar Quarter

Fiscal Quarter

Fiscal week

Year

Month

Fiscal year

Holiday ?

Holiday name

Day of holiday

Weekday ?

Selling season

Major event etc.

Possible Product Attributes

 Description

 SKU number

 Brand description

 Department

 Package type

 Package size

 Fat content

 Diet type

 Weight

 Weight units of measure

 Storage type

 Shelf unit type

 Shelf width

 Shelf height

 Shelf depth

 etc.

Possible Store Attributes

 Store Name

 Store Number

 Street address

 City

 County

 State

 Zip

 Manager

 District

 Region

 Floor plan type

 Photo processing type

 Financial service type

 Square footage

 Selling square footage

 First open date

 Last remodel date

 etc.

Possible Promotion Attributes

 Promotion name

 Price reduction type

 Promotion media

 Ad type

 Ad agency

 Display type

 Coupon type

 Promotion cost

 Begin date

 End date

 etc.

Factless Fact Tables

In order to evaluate promotions that might have generated no sales we need another approach.

 Promotion could generate another fact table

(or could be considered a fact table in itself).

That new fact table would have no additive attributes.

Conformed Dimensions:

Inventory Snapshot Model

 Process: Store inventory

 Grain: Daily inventory by product and store

 Dimensions: Date, product, store

 Fact: quantity-on-hand

Dimensional Model

DATE

DateKey

Attributes

Inventory Fact

ProductKey

DateKey

StoreKey

QuantityOnHand

QuantitySold

ValueAtCost

ValueAtSellingPrice

PRODUCT

ProductKey

Attributes

STORE

StoreKey

Attributes

Note: QuantityOnHand is semi-additive.

It is additive across product and store, but not across date. The other attributes are additive.

Conformed Dimensions

Common dimensions for different processes should be the same.

 Note: Dimensions for roll-up or aggregated fact tables my add or eliminate attributes based on the aggregation Where attributes apply, they should mean the same thing.

The Bus Matrix

Date Product Store Promotion Warehouse Vendor Contract Shipper

Process

Retail Sales X

Retail Inventory X

Retail

Deliveries

X

Warehouse

Inventory

X

Warehouse

Deliveries

X

Purchase Orders X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X X X

Slowly Changing Dimensions

Attributes in a dimensional table that change over time. Three approaches

Type 1: overwrite the old value

Type 2: create a new dimensional record

Type 3: create a “previous value” attribute

Examples

Original

ProductKey Description Category

21553 LeapPad Education

Type 1

ProductKey

21553

Description Category

LeapPad Toy

Type 2

ProductKey

21553

44631

Description Category

LeapPad Education

LeapPad Toy

Type 3

ProductKey

21553

Description Category

LeapPad Toy

Hybrid

ProductKey

21335

44631

68122

Description Category

LeapPad Electronics

LeapPad

LeapPad

Electronics

Education

SKU

LP2105

SKU

LP2105

SKU

LP2105

LP2105

OldCat SKU

Education LP2105

OldCat SKU

Education LP2105

Toy LP2105

Electronics LP2105

More about dimensions

 Views for dimensions used for different purposes

 e.g. StartDate and EndDate

 Junk dimensions for flags and miscellaneous categories removed from the fact table

 Degenerate dimensions have no attributes

 Usually reserved for order number or something similar

Accumulation Snapshot

 State change summary that has one row per item.

 Access rows on each update.

Multiple Granularities

 Product sales vs. Annual quota

 Line item cost vs. Order shipping cost

Download