My first Publication Agile-Data-Warehouse-Design-eBook | Page 216
196
Chapter 6
Who and What
Describing Heterogeneous Products
Heterogeneous
products and
services can have
too many specialist
dimensional
attributes to fit
comfortably into a
single product
dimension
Large sets of
specialist attributes
should be grouped
together in their own
swappable subset
dimensions, based
on a defining
characteristic such
as product type
Product dimensions can become very complex when an organization like
Pomegranate deals with very different types of products—such as hardware,
software, third party accessories, consulting services, licenses and support
subscriptions—that all need to be described in very different ways. These
heterogeneous descriptions can lead to wide sets of dimensional attributes that are
only valid for certain product types. This is the same mixed business problem as
dealing with multiple customer types but greatly compounded by the fact that
organizations usually know a lot more about their products than their customers
and have many more specialist ways of describing them. Even though product
dimensions rarely approach the row count of customer dimensions, the row length
of product dimensions, that attempt to describe every radically different product
type can cause just as many performance, usability and manageability problems.
With large sets of specialist attributes for heterogeneous products and services, BI
users will have to scroll through pages of attributes to find the ones that interest
them and will be daunted when trying to find correlated attributes. You may even
exceed the maximum number of columns in a single table supported by your
DBMS.
For both query performance and usability, you may want to break a monolithic
product dimension into several swappable subset dimensions (SD), as in Figure 6-
4, based on defining characteristics (DC) such as product type or subcategory.
Each swappable dimension would contain exclusive (X) attribute groups that
require specialist knowledge to use or interpret correctly. For example, a retailer
may have more than 300 attributes that describe clothing products—in minutia.
These would be fascinating to clothing buyers but of little interest to finance or
logistics. If query performance is not an issue, swappable subsets can be delivered
as views, otherwise materialized views or separate tables may be needed to over-
come poor performance or column number limitations.
Balancing Ragged Product Hierarchies
Product hierarchies
can sometimes look
like variable-depth
hierarchies but they
are in most cases
ragged hierarchies
Product hierarchies can sometimes appear to be of variable-depth, especially when
source data is held in recursive structures within an Enterprise Resource Planning
(ERP) package, or when every department seems to have a different number of
levels on the product hierarchy charts pinned to their walls. However, what is most
often thought of as “the product hierarchy” is not a true variable-depth hierarchy—
a hierarchy of products within products—but actually a ragged hierarchy of prod-
ucts within groups that are based on the physical, organizational, or geographic
properties of products. Many of the attributes used to assign products to these
groups are not mandatory, or are exclusive to certain subsets, leading to raggedness
when you try to create a single conformed hierarchy of all products, across all
business processes and departments.