dbTalk Databases Forums  

Customer Dimension

microsoft.public.sqlserver.olap microsoft.public.sqlserver.olap


Discuss Customer Dimension in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Chris Busch
 
Posts: n/a

Default Customer Dimension - 10-06-2004 , 12:55 PM






We have a design that handles a customer dimension as follows:

Customer Dimension - One row per customer
Geographic Dimension - One row per CITY/STATE/ZIP
Demographic Dimension - One row per AGE/SEX/ETHNICITY/STUDENTIND

Most facts then use CUSTKEY, GEOKEY, DEMOKEY to track who and where.

We also use a key history table to track CUSTKEY, GEOKEY, DEMOKEY
at a specific point-in-time using effective and end dates.

We chose this approach rather than a more traditional type 2 slowly
changing dimension because we have implementations with more than
20 million customers. Although the ETL is a little more complex,
we felt this approach would provide better query performance.

We are now encountering a problem when building AS cubes from this model.
Since we have separated customer demographics and geographics from customer
name, there is not a straight-foward way to build a dimension that drills
from these dimensions to customer name. For example, SEX=>AGEBAND=>NAME.

I'd appreciate any thoughts or suggestions.

Chris Busch
Blueprint Database Architects


Reply With Quote
  #2  
Old   
Jamie Thomson
 
Posts: n/a

Default RE: Customer Dimension - 10-07-2004 , 03:11 AM






Can you not build a view over the various tables that provides this info?
I'm sure this has occured to you but if you tell us why you CAN'T do this it
might help to better understand your environment and therefore the problem.

Regards
Jamie


"Chris Busch" wrote:

Quote:
We have a design that handles a customer dimension as follows:

Customer Dimension - One row per customer
Geographic Dimension - One row per CITY/STATE/ZIP
Demographic Dimension - One row per AGE/SEX/ETHNICITY/STUDENTIND

Most facts then use CUSTKEY, GEOKEY, DEMOKEY to track who and where.

We also use a key history table to track CUSTKEY, GEOKEY, DEMOKEY
at a specific point-in-time using effective and end dates.

We chose this approach rather than a more traditional type 2 slowly
changing dimension because we have implementations with more than
20 million customers. Although the ETL is a little more complex,
we felt this approach would provide better query performance.

We are now encountering a problem when building AS cubes from this model.
Since we have separated customer demographics and geographics from customer
name, there is not a straight-foward way to build a dimension that drills
from these dimensions to customer name. For example, SEX=>AGEBAND=>NAME.

I'd appreciate any thoughts or suggestions.

Chris Busch
Blueprint Database Architects


Reply With Quote
  #3  
Old   
Chris Busch
 
Posts: n/a

Default RE: Customer Dimension - 10-13-2004 , 09:11 AM



Yes. I could build a view, but it would need to include our customer profile
table, which is a snapshot fact table that links the customer dimension with
it's related customer demographics and geographics dimensions.


"Jamie Thomson" wrote:

Quote:
Can you not build a view over the various tables that provides this info?
I'm sure this has occured to you but if you tell us why you CAN'T do this it
might help to better understand your environment and therefore the problem.

Regards
Jamie


"Chris Busch" wrote:

We have a design that handles a customer dimension as follows:

Customer Dimension - One row per customer
Geographic Dimension - One row per CITY/STATE/ZIP
Demographic Dimension - One row per AGE/SEX/ETHNICITY/STUDENTIND

Most facts then use CUSTKEY, GEOKEY, DEMOKEY to track who and where.

We also use a key history table to track CUSTKEY, GEOKEY, DEMOKEY
at a specific point-in-time using effective and end dates.

We chose this approach rather than a more traditional type 2 slowly
changing dimension because we have implementations with more than
20 million customers. Although the ETL is a little more complex,
we felt this approach would provide better query performance.

We are now encountering a problem when building AS cubes from this model.
Since we have separated customer demographics and geographics from customer
name, there is not a straight-foward way to build a dimension that drills
from these dimensions to customer name. For example, SEX=>AGEBAND=>NAME.

I'd appreciate any thoughts or suggestions.

Chris Busch
Blueprint Database Architects


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.