Slowly Changing columns
If the dimension was defined as a slowly changing dimension then the following additional dialogs will appear. The first dialog requests the selection of the columns to be managed as slowly changing dimension columns. Select the required columns and click OK to proceed. In the example below the name is to be managed as a slowly changing column.
The advantages and disadvantages of slowly changing dimensions are discussed earlier in this chapter, but as a general rule try to minimize their usage, as they invariably complicate the processing and end user queries.
The following dialog will appear if one or more columns are chosen for management.
Null values are the enemy of a successful data warehouse. They result in unreliable query results and can often lead to a lack of confidence in the data. If a column is considered important enough to be managed as a slowly changing column then it should not normally contain null values. It is often best to ensure that a Null cannot occur by using a IsNull() (SQL Server), Nvl() (Oracle) or Coalesce() (DB2) transformation when loading the column. If, however, this situation is unavoidable then answering 'Yes' to this question will result in additional code to test for Nulls during the update of the dimension records. If 'No' is answered and Nulls are encountered then a unique constraint violation will occur during the dimension update.