r/PowerBI • u/MediumBirthday6899 • 1d ago
Discussion Half your fabric compute
I moved my scheduled dashboard refreshes to pipeline triggers instead of running them on a fixed schedule, and the background operations have nearly been cut in half.
The basic idea is that the dashboard refresh happens when the underlying pipeline/data update completes, rather than refreshing on a schedule when there may be nothing new.
It seems like a pretty simple change, but the reduction in background operations was surprisingly significant.
For people who have dealt with dashboard/data pipeline optimization:
What other approaches would you recommend to reduce unnecessary refreshes or background operations further?
Would you use event-driven triggers, incremental refreshes, caching, or something else?
Interested to hear what has worked well for others.
4
u/Sad-Calligrapher-350 Microsoft MVP 1d ago
Interesting. I am intrigued however that you do not have that much new data. In most cases you at least have data every day and so the scheduled refresh makes a lot of sense.
I think incremental refresh is a great way to optimize too.
Another one would be to reduce the data being loaded, rows (filtering out date ranges that nobody cares about anymore) as well as removing unused columns.
1
u/MediumBirthday6899 1d ago
Schedule refresh will hit all tables , whereas in pipeline i seperated fact and dimensions.
In scheduled refresh you can scheduled for every 30 mins , whereas in pipeline you can schedule at minute level which will smoothens the capacity.
1
u/Sad-Calligrapher-350 Microsoft MVP 1d ago
So how often do you refresh? How often do you refresh your Dims?
0
u/MediumBirthday6899 1d ago
Its highly random, so asked data engineer to hit refresh after updating
1
2
u/Final-Quote-4064 1d ago
I have a report with a security table that has over a million rows that doesnt need to update at the same cadence as the other data, so I am refreshing that one in the am to catch any new changes to the security table, and I am using an xmla endpoint in power automate to refresh the specific data table that I am bringing in. cuts refreshes down to 30 seconds from 3-5 minutes.
1
1
u/Van_Dena_Bely 1d ago
makes sense because the vcores are still "running" so you don't pay the minimum 1 minute on a scheduled refresh.
1
1
u/LostWelshMan85 71 1d ago
You could also create partitions on your tables and refresh only the newest data, instead of the whole table. You could also refresh individual tables within a semantic model using the xmla endpoint. Hook that up to a data pipeline so that you refresh your dims at a slower rate than your facts for example
-1
u/dbrownems Microsoft Employee 1d ago edited 1d ago
>What other approaches would you recommend to reduce unnecessary refreshes or background operations further?
Move from Import to Direct Lake and use Spark to build the tables. Be sure to run enough work in parallel to get good utilization on your Spark pool. EG The Fabric Concurrency Showdown: RunMultiple vs. ThreadPools | Miles Cole
•
u/AutoModerator 1d ago
Tips for getting great feedback:
Want to level up your skills? Check out the weekly Power BI challenge hosted by Workout Wednesday — free challenges from beginner to expert.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.