Art of BI: SQL Scripting a Slowly Changing Dimension

Traditionally a slowly changing dimension (SCD) is created via some ETL tool, whether it be SSIS, OWB, ODI, or Informatica.  The concept is fairly straightforward – capture important business changes to the metadata for each records within the dimension.  For example, A Sales Rep dimension may have a rep’s name, region of sales responsibility, etc.  If the rep’s sales region changes at any point in time, it may be important to the business and their analytics to capture when the point-in-time when this change occurs so that analytics can slearly show sales for the rep when s/he was in new region vs the previous region as well as both regions together.  This can only be accomplished correctly using a SCD. This post doesn’t go into more detail about the different types of SCD.  For that you can clearly check out the concepts exacerbated by Inmon or Kimball, etc.

Recently an opportunity came up to develop a SCD for an ETL process was solely written in PL/SQL.  Without using some of the industry ETL tool that I mentioned above this can pose a significant challenge to most.  After some Google searching I found only a handful of articles and blog posts that have even remotely broached this technical topic.


Contact Us
Christian Screen
Christian is an innovator in analytics and data warehousing design, best practices, and delivery. With more than fifteenyears of decision support and data warehousing with key experiences at Office Depot HQ, Sierra-Cedar, and Capgemini, he oversees the Oracle Analytics Practice which includes the technical development and delivery of Oracle BI collaboration software, data warehouse solutions, Oracle BI/EPM projects, and packaged analytics solutions at Datavail.

Leave a Reply

Your email address will not be published.
Required fields are marked (*).