- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Scope of a golden dataset
Our data warehouse Sales mart has several fact tables and dimension tables, so in building the Power BI dataset(s) to support Sales reporting we need to make a choice about the scope of what to include. This seems to boil down to options on a spectrum between:
- Single golden dataset with multiple fact tables (e.g. sales calls, sales opportunities, closed sales)
- Minimal (ideally one) fact table per dataset
In theory the first option is most flexible in supporting the widest range of reports without having to duplicate logic, and allows reports to contain content from different facts (essential for calculating things like conversion rates). However, it's more fragile than a more modular approach because if one table breaks in the data refresh, all the reports fail.
This seems to be a trade-off of efficiency and flexibility on one hand vs fragility on the other.
Is this the right way to see it and are there approaches that can get the best of both - i.e. avoid the trade-off.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Understanding and optimizing dataflows refresh - Power BI | Microsoft Docs
It's slightly unclear as to whether this is just incremental refreshes or all refreshes but I think combined with the above confirms it:
"In any of these refresh scenarios, if a refresh fails the data is not updated, which means that your data might be stale until the latest refresh completes, or you refresh it manually and it completes without error. Refresh occurs at a partition or entity, so if an incremental refresh fails, or an entity has an error, then the entire refresh transaction will not occur. Said another way, if a partition (incremental refresh policy) or entity fails for a particular dataflow, the entire refresh operation is set to fail, and no data gets updated."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

If you move all your power query logic into modular data flows then they can refresh separately.
Your golden dataset then has minimal power query for each table to reference the relevant dataflows.
In the event that a data flow fails to refresh your dataset will still refresh but be left with old data from the failed data flow but the rest will be fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thanks @bcdobbs
Do you have a link to any documentation on how dataflows handle a failed refresh in terms of the dataset they contain?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Still looking for some documentation however test below appears to confirm my original suggestion. My understanding is that under the covers data flows are persisted as text files in a data lake so assuming old test files are only over written after a full refresh. (I beleive if you hook up your own data lake to it you can see the files).
Test setup:
1) Two dataflows each referencing a different table stored in SQL Server (each just has one entity but they could be modular):
2) They both have a a step that does a distinct on a named column eg:
4) "TableOneLabel" is renamed in SQL database to "TableOneNewLabel"
5) Both data flows are refreshed and Table One gets a refresh error:
6) Dataset is refreshed. This completes with no errors and original data is present:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Understanding and optimizing dataflows refresh - Power BI | Microsoft Docs
It's slightly unclear as to whether this is just incremental refreshes or all refreshes but I think combined with the above confirms it:
"In any of these refresh scenarios, if a refresh fails the data is not updated, which means that your data might be stale until the latest refresh completes, or you refresh it manually and it completes without error. Refresh occurs at a partition or entity, so if an incremental refresh fails, or an entity has an error, then the entire refresh transaction will not occur. Said another way, if a partition (incremental refresh policy) or entity fails for a particular dataflow, the entire refresh operation is set to fail, and no data gets updated."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

@Anonymous You've effectively hit the nail on the head for the most part. The new DirectQuery for Live datasets capability has the potential to provide the best of both worlds so I would check that out if you have not already.
Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!: Power BI Cookbook Third Edition (Color)
DAX is easy, CALCULATE makes DAX hard...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thanks @Greg_Deckler - appreciate you taking the time to respond and help me understand my options better

Helpful resources
Join our Fabric User Panel
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Power BI Monthly Update - June 2025
Check out the June 2025 Power BI update to learn about new features.

Subject | Author | Posted | |
---|---|---|---|
11-18-2022 05:07 AM | |||
04-08-2025 01:10 AM | |||
04-08-2025 04:39 PM | |||
06-25-2025 03:41 PM | |||
04-17-2024 06:51 AM |
User | Count |
---|---|
56 | |
54 | |
54 | |
37 | |
29 |
User | Count |
---|---|
77 | |
63 | |
45 | |
40 | |
40 |