Question:
Hi,
Can anyone tell me what the best way to setup/model the 0CUST_SALES and Sales Area infoobjects in the dimensions?
Should 0CUST_SALES be in the same dimension as 0SALESORG, 0DIVISION, and rest of needed customer sales view attributes?
Or should the sales area infoobjects 0SALESORG, 0DIVISION,0DISTR_CHAN be by themselves. If so where should the customer sales view customer and attributes go? In a seperate dim then 0sold_to?
Thannks for any opinions.
Ken
Answer:
I'd suggest a single customer dimension that includes one or more customer numbers (sold_to, ship_to, payer ...). Derive Division, Sales Org etc. as navigable attributes of the appropriate customer.
Since there are thousands of customer combinations and only a few divisions and sales organizations, it may be tempting to put them in one or more separate dimensions. However by including them in the cube, rather than making them navigable attributes, you risk being affected by organizational changes and could run into future consistency problems -- where you have several sales related cubes and the relationships are not exactly the same.
Using navigable attributes has the benefits of keeping the cube design simple (so fewer objects to load), and ensures consistency across cubes, even if relationships change. The relative inefficiency of deriving a navigable attribute with a small number of values (like division) via another with a large number of values (like customer) can be addressed through aggregates.
You may find that some users (particularly finance) are interested in seeing the historical representation of the organization (when the transaction occurred), in which case it would make sense to include the derivable values in a dimension of the cube AS WELL, and write separate queries for this group.