title: What should update when an SCD1 change happens on an SCD2 aware table
body: <p>I am not sure if this is answered in the Kimball Data-Warehouse literature - I could not find an answer.</p>
  <p>Lets say you have a table with a couple of SCD2 aware columns, and some SCD1 columns. The question is simply this: Which records are updated when a change to an SCD1 column happens?</p>
  <p>Do you change ALL records, the current one and all historic ones? Or do you change only the most recent (open) record? I tend to go by &quot;all&quot;, while all my colleagues insist on &quot;most recent only&quot;.</p>
  <p>The only reason I can give for my opinion is, that I want a <code>COUNT(DISTINCT ...)</code> to give the same result when I run it on the business key column, or on an SCD1 column.</p>
  <p>Thinking of it, there are two special cases: What if a record does not have a current version, if the most recent one went out of scope and there was no new instance? What if I use my SCD2 logic to prepare records that will become active automatically in the future?</p>
  <p>If I only update the most recent open version, than that would mean I do not change anything in the first special case, while in the other case I need to change all future (prepared) records. Thinking of it... I am confident &quot;all&quot; is the correct answer.</p>
  <p>Can anyone point to a well known white-paper website (like Kimball, Microsoft) that gives an answer?</p>