1
Vote

Existing members in Dim Table are inserted again

description

Though similar issues are tracker here already, they doesn't completely map to my actual issues.
 
I have a quite small dimension table (<3000 rows), which is filled with the SCDC.
After it runs a few times without any problems, today it started to try to insert rows, which already exists in the Dim table.
I compared the surrogate and the business key. They are identical.
I compared all SCD2 Attributes. No changes between Source and existing dimension.
 
Because I have a unique index on the surrogate key, the load process stops now.
 
This affects only 9 rows of a total of 204 new rows. The others are "true" new rows.
 
It's really strange.
I hope there is a solution for this.
 
Thanks
Salvatore

comments

SalvatoreC wrote May 25, 2012 at 9:03 AM

Iv'e encountered the same problem on a completely different Dimension Table, which is not connected to the first Dimension Table at all.

It could be interesting that I have parallel Execution of Child package, which in turn executes one Data Flow with one SCDC per Child Package.

We are shortly before Deplyoment to Production. I hope that there is a solution to this.

SalvatoreC wrote May 31, 2012 at 9:23 AM

It looks like that the SCDC does not handle returning members correctly (from my point of view):
  1. A new member arrives. It is inserted correctly
  2. This member disappear from the source. The member is handled correctly through SCDC: Actual column ist set to False and ValidTo is set to now
  3. The member reappear with the same business key and the same surrogate key (surrogate keys are handeld separately).
The SCDC apparently does not recognize this and send the row to new, instead to SCD2, which will make more sense. This would create a new row with a new surrogate key.
The actual way, it tries to insert a new sor with the same surrogate key. The PRIMARY KEY constraint does not allow this ...

Please check this, and if possible, correct this behaviour.