Forum Discussion
Can I schedule a data refresh in Power BI Desktop?
- Anonymous2 years ago
Hi, hawkeye159
In Power BI Desktop, the direct feature of scheduled data refresh isn't available. The primary way to refresh your data in Power BI Desktop is to use the Refresh button on the Home tab, as you've discovered. This action refreshes the data in the file model with the updated data from the original data source.
Scheduled refresh is a feature of the Power BI service (Power BI Pro or Power BI Premium) where you can configure a dataset to refresh at specified intervals. This is especially useful when reports and dashboards are published to the Power BI service, and you want to make sure they reflect the most up-to-date data without manual intervention. You can set up to 8 daily refreshes for datasets in shared capacity or up to 48 daily refreshes for datasets in Premium capacity. For more information on setting up scheduled refreshes, you can visit:
Data refresh in Power BI - Power BI | Microsoft Learn
If you're using Power BI Desktop and need to automatically refresh your data, consider publishing your report to the Power BI service and setting up a scheduled refresh there. Keep in mind that to use the scheduled refresh feature in the Power BI service, you'll need a Power BI Pro license, or the content needs to be hosted in a workspace in a Premium capacity.
How to Get Your Question Answered Quickly
Best Regards
Yongkang Hua
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Yes, the only option is the refresh button while in the desktop application.
Scheduled refreshes are only available in either the service or report manager for on premises.
I did find a possible solution. You'd have to create a scheduled task to execute a PowerShell script.
$pbixPath = "C:\path\to\your\report.pbix"
$powerBIPath = "C:\path\to\your\Power BI Desktop\bin\PBIDesktop.exe"
# Start Power BI Desktop
Start-Process -FilePath $powerBIPath -ArgumentList $pbixPath
Start-Sleep -Seconds 120 # Wait for Power BI to open and load the report
# Send keys to refresh and save the report
$wshell = New-Object -ComObject wscript.shell
$wshell.AppActivate('Power BI Desktop')
Start-Sleep -Seconds 2
$wshell.SendKeys('{F5}') # Refresh
Start-Sleep -Seconds 120 # Wait for the refresh to complete
$wshell.SendKeys('^s') # Save
Start-Sleep -Seconds 30 # Wait for the save to complete
# Close Power BI Desktop
$wshell.SendKeys('%{F4}')- hawkeye1592 years agoFrequent Visitor
Thanks for your suggestion. I'll speak to my IT team about this one!
Kind regards,
Emma