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

Reply via email to