Forum Discussion
Best Practice Building Data Model Using SalesForce source
- 1 year ago
Hi Txtcher , Thank you for reaching out to the Microsoft Community Forum.
Yes, you should create separate dimension tables for Region, Program and Priority. This aligns with proper star schema modelling. It improves performance when slicing count based measures and keeps your model maintainable, especially with your multiple fact tables.
To avoid impacting Salesforce refresh times, extract distinct values using reference queries in Power Query or better, load them via dataflows gen2 with scheduled or incremental refresh. For Region and Program, static tables work fine if they rarely change.
For Status, if you're only reporting current status, keep it in the fact table. But if you're analyzing changes over time, create a status history fact table with Complaint ID, Status and StatusChangeDate, sourced from Salesforce's field history if available.
Salesforce meta data is case sensitive. Power Query is case sensitive. Power BI is NOT case sensitive.
Always use Case Safe IDs. Always!!!
Take advantage of Salesforce's Object Field History objects. They will help you to reduce the amount of snapshots you have to carry.