You are on page 1of 3

The Slowly Changing Dimension transformation provides the following functionality for managing slowly changing dimensions

:
• • • • •

Matching incoming rows with rows in the lookup table to identify new and existing rows. Identifying incoming rows that contain changes when changes are not permitted. Identifying inferred member records that require updating. Identifying incoming rows that contain historical changes that require insertion of new records and the updating of expired records. Detecting incoming rows that contain changes that require the updating of existing records, including expired ones.

The Slowly Changing Dimension transformation supports four types of changes: changing attribute, historical attribute, fixed attribute, and inferred member.

Changing attribute changes overwrite existing records. This kind of change is equivalent to a Type 1 change. The Slowly Changing Dimension transformation directs these rows to an output named Changing Attributes Updates Output. Historical attribute changes create new records instead of updating existing ones. The only change that is permitted in an existing record is an update to a column that indicates whether the record is current or expired. This kind of change is equivalent to a Type 2 change. The Slowly Changing Dimension transformation directs these rows to two outputs: Historical Attribute Inserts Output and New Output. Fixed attribute changes indicate the column value must not change. The Slowly Changing Dimension transformation detects changes and can direct the rows with changes to an output named Fixed Attribute Output. Inferred member indicates that the row is an inferred member record in the dimension table. An inferred member exists when a fact table references a dimension member that is not yet loaded. A minimal inferred-member record is created in anticipation of relevant dimension data, which is provided in a subsequent loading of the dimension data. The Slowly Changing Dimension transformation directs these rows to an output named Inferred Member Updates. When data for the inferred member is loaded, you can update the existing record rather than create a new one.

Note The Slowly Changing Dimension transformation does not support Type 3 changes, which require changes to the dimension table. By identifying columns with the fixed attribute update type, you can capture the data values that are candidates for Type 3 changes. At run time, the Slowly Changing Dimension transformation first tries to match the incoming row to a record in the lookup table. If no match is found, the incoming row is a new record; therefore, the Slowly Changing Dimension transformation performs no additional work, and directs the row to New Output.

An output directs a row to the subset of the data flow that corresponds to the update and the insert requirements of the row. for changing attribute rows. and an OLE DB destination inserts the row. If the row is unchanged. This New Output A Derived Column transformation sets the current row indicator. If the row contains changes. This output is used record using an UPDATE statement. This transformation does not support an error output. where the row is inserted and marked as "current". the Slowly Changing Dimension transformation directs the row to the Unchanged Output. This output is used for inferred member rows. Derived Column transformations create columns for the expired row and the current row indicators. Output Changing Attributes Updates Output Fixed Attribute Output Description Data flow requirements The record in the lookup table An OLE DB Command transformation updates the is updated. you should create a data flow that captures these rows. The Historical row marked as “current” must Attributes now be marked as "expired". No default data flow is created. The values in the lookup table match the row values. The requirements describe the data flow that the Slowly Changing Dimension Wizard creates. An OLE DB Command transformation updates the record using an SQL UPDATE statement. This output is used for new rows and changes to historical attributes rows. If the transformation is configured to continue after it encounters changes to fixed attribute columns. or Inferred Member Updates Output. No default data flow is created because the Slowly Changing Dimension transformation performs no Unchanged Output . The values in rows that must not change do not match values in the lookup table. Historical Attributes Inserts Output. The row is added to the dimension table.If a match is found. Inferred Member Updates Output Rows for inferred dimension members are inserted. The lookup table contains no matching rows. The row with the new column values is directed to the New Output. Inserts Output This output is used for historical attribute rows. An OLE DB Command transformation updates the record that must now be marked as "expired". The lookup table contains at least one matching row. the Slowly Changing Dimension transformation identifies the update type for each column and directs the row to the Changing Attributes Updates Output. This output is used for fixed attribute rows. the Slowly Changing Dimension transformation detects whether the row contains changes. Slowly Changing Dimension Transformation Outputs The Slowly Changing Dimension transformation has one input and up to six outputs. Fixed Attribute Output. The following table describes the transformation outputs and the requirements of their subsequent data flows.

If the data include rows in which the business key column is null. . If you want to capture these rows. You can use the Conditional Split transformation to filter rows whose business key columns contain null values. see Conditional Split Transformation. For more information. Business Keys The Slowly Changing Dimension transformation requires at least one business key column. those rows should be removed from the data flow. The Slowly Changing Dimension transformation does not support null business keys.output is used for unchanged work. you rows. should create a data flow for this output.