title: Multiple Joins from one Dimension Table to single Fact table
body: <p>I have a fact table that has 4 date columns CreatedDate, LoginDate, ActiveDate and EngagedDate. I have a dimension table called DimDate whose primary key can be used as foreign key for all the 4 date columns in fact table. So the model looks like this.
  <img src="https://i.stack.imgur.com/8HFmt.png" alt="enter image description here"></p>
  
  <p>But the problem is, when I want to do sub-filtering for the measures based on the date column. For ex:  Count  all users who were created in the last month and are engaged in this month. This is not possible to do with this design, coz when I filter the measure with create date , I can’t further filter for a different time window for engaged date. Since all the connected to same dimension, they are not working independently.</p>
  
  <p>However, If I create a separate date dimension table for each of the columns, and join them like this then it works. 
  <img src="https://i.stack.imgur.com/B0aJQ.png" alt="enter image description here">
  But this looks very cumbersome when I have 20 different date columns in fact table in real world scenario, where I have to create 20 different dimensions and connect them one by one. Is there any other way I can achieve my scenario w/o creating multiple duplicated date dimensions?</p>