title: Which is the best approach for a dimension (SCD-2 or a SCD-1 + a whole new dimension)
body: <p>Let´s say I have the following situation:</p>
  
  <p>A dimension Product with some attributes that aren't volatile (Description and Diameter - they can only be changed by a SCD-1 change for correction) and a attribute that can be volatile (Selling Group, it can change over time for the same product).</p>
  
  <p>So, when a change occurs in these volatile attributes of one product, I need to somehow track them.</p>
  
  <p>I have come with these 2 approaches:</p>
  
  <p><strong>For both:</strong> keep using SCD-1 for non-volatile attributes.</p>
  
  <p><strong>Approach #1:</strong> Use SCD-2 in product_dim only for volatile attributes.</p>
  
  <p><a href="https://i.stack.imgur.com/C3sbI.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/C3sbI.png" alt="enter image description here"></a></p>
  
  <p><strong>Approach #2:</strong> Make Selling Group a whole new dimension and every sell will track the current value in moment of ETL. No need for SCD-2 here.</p>
  
  <p><a href="https://i.stack.imgur.com/zpUtP.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zpUtP.png" alt="enter image description here"></a></p>
  
  <p>I am new in Data Warehousing and I'm trying to understand which is better and why. One of my aims is to use a OLAP software to read all of this stuff.</p>