Historical analytics

Choose what history means

When descriptive data changes, the warehouse needs a business rule—not an automatic update.

Inspired by The Data Warehouse Toolkit by Ralph Kimball and Margy Ross. This is an original explanation, not a reproduction of the text.

The idea

Dimensions describe entities such as customers, products, employees, and stores, but those descriptions change. A customer moves. A product enters a new category. A sales territory is reorganized. Updating the dimension without deciding how reports should treat the past can silently rewrite business history.

Two basic policies cover many cases. Overwrite the existing value when correcting an error or when only the latest description matters. Add a new dimension row when facts must retain the description that was valid when the event occurred. The second policy gives one durable business entity multiple version rows, each with its own surrogate key and effective period.

Make it concrete

A jacket was mistakenly labeled “Footwear.” Correcting it to “Apparel” should probably restate every report, so overwrite is appropriate. Later, the company intentionally moves the jacket from “Apparel” to a new “Outdoor” category. If analysts must preserve how sales were classified at the time, add a new product-dimension version. Earlier sales keep the old key; later sales receive the new one.

Ask the reporting question first

Do not choose a technique because one is simpler to load. Ask whether users want past facts grouped by the old description, today’s description, or both. Record the policy by attribute: a corrected spelling and a territory reassignment can require different treatment even within the same dimension.

Keep this: A dimension update is a decision about historical truth. Overwrite corrections; create versions when the prior business context must remain visible.

Try it

Pick one changing attribute in your data. Write the answer to: “When this changes, should last year’s report change too?” Use that answer to choose overwrite or a new historical version.