Forum Discussion

NEJO's avatar
NEJO
Icon for Advocate I rankAdvocate I
1 year ago
Solved

Modelling datawarehouse

Hi Experts   Looking for general thoughts on the best practice for modelling my data.    Scenario   I have about 6 main fact tables, and amongst other things have both a team dimension and a pe...
  • nilendraFabric's avatar
    1 year ago

    Hello NEJO 

     

    First of all thanks for sharing this detailed question. 

    community user will be greatly benefited from such type of discussiona.

     

    here are some of the best practices which I will try to follow in your case :

     

    1.Keep separate Dimensions for Person and Team.
    2. Use multiple foreign keys in the Fact for each person‐role or team‐role. Although it means some measures will require inactive‐relationship logic, it avoids blowing up the fact table and keeps the schema simpler.
    3. Use Type 2 SCD within Person or Team if you need both “current” and “historical” attributes in the same dimension. That technique is standard in dimensional modeling and does not require bridging.
    4. Only use a Bridge if you truly need to associate one fact row with a variable‐length set of persons or teams at once. Otherwise, the row explosion and complexity typically outweigh any gains.

     

    In short, most Kimball‐style models would maintain a standard star schema, keep Person and Team dimensions separate, and stamp each relevant foreign key onto the fact table (TimekeeperKey, SupervisorKey, etc.). Although this necessitates some role‐based DAX, it typically remains the most straightforward and performant solution.

     

     

    Hope this helps.

     

    Thanks