Setting Up Scheduled Data Refresh
Scheduled refresh ensures your published reports always show the latest data without manual intervention.
Why Scheduled Refresh?
• Reports published to Power BI Service use a snapshot of the data at publish time • Without scheduled refresh, reports show stale data • Scheduled refresh automatically updates the dataset on a defined schedule
Refresh Methods
| Method | Description | When to Use |
|---|---|---|
| Manual Refresh | Click "Refresh now" in Service | Ad-hoc updates |
| Scheduled Refresh | Set times for automatic refresh | Regular data updates |
| Incremental Refresh | Refresh only new/changed data | Large datasets |
| DirectQuery | Real-time queries (no refresh needed) | Live dashboards |
| Dataflows | Refresh shared/reusable data | Enterprise ETL |
Setting Up Scheduled Refresh
Pre-requisites: • Report must be published to Power BI Service • Data source credentials must be configured • For on-premises sources: Power BI Gateway must be installed
Steps:
- In Power BI Service → Navigate to your workspace
- Find the dataset → Click ••• → Settings
- Expand Scheduled refresh
- Toggle Keep your data up to date → On
- Set Refresh frequency: Daily or Weekly
- Set Time zone and Time(s) for refresh
- Add up to 8 refresh times per day (Pro) or 48 times (Premium)
- Click Apply
Power BI Gateway
Required for refreshing data from on-premises sources (local SQL Server, file shares, etc.)
Types of Gateways:
| Type | Description | Use Case |
|---|---|---|
| Standard Gateway | Shared gateway for multiple users | Enterprise/team use |
| Personal Gateway | Single user only | Individual development/testing |
Gateway Setup:
- Download from Power BI Service → Settings → Manage gateways
- Install on a machine that can access the data source
- Register the gateway with your Power BI account
- Configure data source connections and credentials
- Map published datasets to the gateway
Data Source Credentials
Before refresh can work, you must configure credentials:
- Go to dataset Settings → Data source credentials
- Click Edit credentials for each data source
- Enter authentication details:
- Authentication method: OAuth2, Basic, Windows, Anonymous
- Privacy level: Public, Organizational, Private
- Click Sign in or Apply
Incremental Refresh
For large datasets, refresh only new or modified data instead of the entire dataset.
Setup in Power BI Desktop:
- Create two parameters: RangeStart and RangeEnd (type: Date/Time)
- Filter your table using these parameters in Power Query
- Define the incremental refresh policy:
- Archive period: How much historical data to keep
- Refresh period: How much recent data to refresh each time
- Publish to Power BI Service
Benefits: • Dramatically faster refresh times • Lower resource consumption • Reduced load on source systems • Essential for datasets with millions of rows
Monitoring Refresh
Refresh History:
- Dataset → ••• → Refresh history
- View: Status (Success/Failure), Duration, Start/End time
- Check error messages for failed refreshes
Common Refresh Failures:
| Issue | Solution |
|---|---|
| Credentials expired | Re-enter credentials in data source settings |
| Gateway offline | Ensure gateway machine is running |
| Source unavailable | Check network/firewall to data source |
| Query timeout | Optimize Power Query, use incremental refresh |
| Memory exceeded | Reduce dataset size, remove unused columns |
Best Practices
• Schedule refreshes during off-peak hours to minimize source system load • Use incremental refresh for large datasets (100K+ rows) • Set up failure notifications to get alerted on refresh errors • Keep dates/times consistent with your time zone • Use dataflows for shared data preparation across multiple reports • Monitor refresh duration — increasing times may indicate growing data or query issues