Hello guys, I can't get my head around the handling of type 2 SCD records in ActiveWarehouse. In theory (from "The Data Warehouse Toolkit"), a dimension can have a mixture of type 1 and type 2 fields, defined separately on a field-by-field basis. When there is a change, the ETL process should check whether any type 2 fields are affected. If so, it should create a new dimension record. Otherwise, an existing dimension must be updated (or created, if the record is new).
As far as I can see, ActiveWarehouse allows an SCD setting at the row level only. If scd_type is set to 2, I can define some scd_fields which will be handled as type 2 fields. If a record is processed (in destination.rb => process_change) and scd_fields are defined, _only_ those fields are CRC-checked for changes. If none of those are changed, no record is updated or created. This seems an odd behaviour to me. Fields in a type 2 dimension not defined as scd_fields should be treated as type 1 fields, so an existing record has to be updated (or created). Otherwise changes in those other fields wont' be reflected in the data warehouse. Please tell me if I am getting that wrong. Sincerely, Martin _______________________________________________ Activewarehouse-discuss mailing list Activewarehouse-discuss@rubyforge.org http://rubyforge.org/mailman/listinfo/activewarehouse-discuss