My first Publication Agile-Data-Warehouse-Design-eBook | Page 245
Dimensional Design Patterns for Time and Location
225
National Language Dimensions
Data warehouses that have to deal with international locations and time zones will
also have to provide national language support (NLS). Stakeholders will want to
ask business questions in their own language and have the results translated.
International data
warehouses need
to be multilingual
National Language Calendars
Multilingual calendar presentation styles can often be handled by the localization
features built into database management systems and/or BI tools; for example, you
can configure language and default date presentation format (MM/DD/YYYY for
USA and DD-MM-YYYY for Europe) at the database schema level or in the BI tool
metadata layer to reformat dates into the appropriate local language for presenta-
tion. Changing the presentation format at the database or BI tool level preserves
the correct date sort order of the underlying queries.
Use the localization
features of your BI
tools and DBMS to
support local date
formats and month
name translation
If BI users and developers require national language support for reporting element
names while constructing ad-hoc queries (for example, Italian users want to select
“Mese Fiscal” and “Motivo per il Volo” rather than “Fiscal Month” and “Flight
Reason”), attribute name translation should be handled by the BI tool semantic
layer rather than database views. This keeps the SQL or OLAP query definitions
portable across boarders.
Swappable National Language Dimensions Pattern
Problem/Requirements
Pomegranate has BI users in the UK, U.S., France, and Italy who want their reports
to use the local language for descriptive labels—such as full product descriptions or
flight reasons. One possible design is to create additional dimension columns for
each of the required languages (for example, FRENCH FLIGHT REASON and
ITALIAN FLIGHT REASON). But this approach overcomplicates the dimensions,
especially if many attributes need localization, and many languages have to be
supported. It also requires reports to be rewritten to use each new language column
as other countries come on line.
Stakeholders want
reports in English,
French and Italian
Solution
Instead, a more scalable design is to create separate hot swappable dimensions
(SD) for each language. Each language version would be identical in structure
(identical table name, identical column names, and identical surrogate key values)
but with its descriptive column contents translated as required. These language-
specific dimensions would then be selected based on the schema the BI user logs
into. For example, Italian user IDs would default to the schema with Italian ver-
sions of the PRODUCT and FLIGHT REASON dimensions.
Use hot swappable
dimensions