My first Publication Agile-Data-Warehouse-Design-eBook | Page 246
226
Chapter 7
Create separate
hot swappable
dimensions for
each reporting
language
When and Where
With this approach standard reports can be developed once and run unaltered (as
long as they do not filter on translated descriptions) in multiple offices with local-
ized results. For example, a CO 2 footprint report in the London office that catego-
rizes travel reasons as “Conference,” “Consulting,” and “Return Home”, would
display “Congresso,” “Consulto,” and “Casa di Ritorno” when in Rome.
Using separate hot swappable dimensions for national languages means that you
can add new languages at any time without affecting the existing schemas and
reports. This allows you to deliver an agile solution with a single language initially
and then go global, without incurring technical debt.
Consequences
When translating dimensional attributes, care must be taken to preserve their
cardinality; for example, 50 distinct product descriptions in English must remain
50 distinct product descriptions in French and Italian—so that reports contain the
same number of rows with the same level of aggregation when translated.
Preserve sort order
and cardinality
National language versions of a dimension sort differently. Cryptic business keys
(BK) are often stripped from dimensions if they are never required for display
purposes. However, they can be used (without being displayed) to provide consis-
tent sort order when standard reports are delivered in multiple languages.
Summary
Time is modeled dimensionally by separating date and time of day into CALENDAR and
CLOCK dimensions which should contain all the descriptive time attributes BI users need.
Period Calendars, such as MONTH are built as rollups of the standard CALENDAR. They are
used to explicitly define the time granularity of higher level fact tables.
Fact-specific calendars, built using ETL fact state information, are used to ensure valid YTD
comparisons.
International facts should be overloaded with additional time keys to support standard and local
time analysis.
Location-specific date descriptions and day-specific time descriptions can be handled by using
the time surrogate keys DATE KEY and TIME KEY to represent versions of a date or minute.
Journey analysis can be enhanced by overloading movement facts with additional location keys
and why and how dimensions based on the first and last locations in a meaningful sequence.
Separate hot swappable language-specific dimensions are used to support national language.