Skip to content
Ask the community about this page

Create a Power BI Refresh package

Timextender Orchestration & Data Quality 23.3+Timextender Data Platform 26.3+cloud

A Power BI Refresh package triggers a dataset refresh. Its point is ordering: put it after the load that fills the warehouse, and the report refreshes when the data is actually ready rather than on a clock that hopes the load finished.

The service principal must be granted access in Power BI itself

This is where nearly every setup stalls. An Azure App Registration that works for other Azure types will still list no workspaces here until two things are true in Power BI, neither of which is done in Timextender:

  1. The tenant setting Allow service principals to use Power BI APIs is enabled, for a security group the App Registration belongs to.
  2. The App Registration is added as a member or admin of the workspace holding the dataset.

The editor states this: only workspaces the data provider's service principal has been given access to are listed. An empty list is a permissions answer, not a bug.

Before you start

  • An Azure App Registration data provider in the workspace
  • That principal granted access in Power BI, as above
  • A dataset that can actually refresh — its own credentials in Power BI must be valid

Steps

1. Create the package

Orchestration → Packages → Create, then Power BI Refresh from the Azure area.

Power BI Refresh in the picker

A new Power BI Refresh package

2. Name it and choose the data provider

The Azure App Registration data provider whose service principal authenticates against Power BI.

Name the package for the report people know — "Refresh the Sales Executive dataset" — since that is what someone will search for when the report looks stale.

3. Choose the workspace

Only workspaces the principal has been given access to appear.

The workspace list

4. Choose the dataset

Datasets are listed from the selected workspace.

The dataset list

The completed Definition tab

5. Save

Select Save.

The save confirmation

The new package in the list

Where this belongs in a flow

Put the refresh last, after the packages that load and transform. In a process map that means a dependency on the final load step, so a failed load stops the refresh rather than publishing yesterday's numbers under today's timestamp.

Two refinements worth knowing:

One package per dataset. If three reports read the same warehouse, three packages after the same load step is clearer than one package and a naming convention, and it lets you retry just the one that failed.

Watch Power BI's own refresh limits. Shared capacity allows a limited number of scheduled refreshes per dataset per day, and API-triggered refreshes count. Orchestrating a refresh after every incremental load can exhaust the allowance before the working day ends.

Best practices

Do not use a refresh package as a data-quality gate. It reports whether the refresh started and finished, not whether the numbers are right. Use a data-quality rule for that, and order it before the refresh.

Keep the dataset's own credentials healthy in Power BI. The package authenticates to Power BI; the dataset authenticates to its sources separately. A refresh can fail for reasons entirely outside Timextender.

Name the App Registration for its purpose. A provider called "Power BI refresh service principal" tells the next administrator why it has workspace membership.

Troubleshooting

The workspace list is empty. Almost always one of the two prerequisites in the admonition above. Check the tenant setting first, then workspace membership. Nothing in Timextender can grant either.

The workspace is listed but the dataset is not. The principal is a viewer rather than a member or admin, or the item is not a dataset — a dataflow or a report will not appear.

The refresh fails immediately, having worked before. Either the client secret expired, or the workspace membership was removed during a Power BI tidy-up.

The package succeeds but the report shows old data. Check you refreshed the dataset the report is bound to. A report pointing at a shared semantic model in another workspace is not refreshed by refreshing the report's own workspace.

Reference

Fields

Field Required Notes
Execution connection No Defaults to Timextender Cloud
Data provider Yes Azure App Registration; authenticates to Power BI
Workspace Yes Only workspaces the principal can access; has a refresh button
Dataset Yes Listed from the selected workspace; has a refresh button

Validation: Please select a data provider, Please select a Power BI workspace, Please select a dataset.

Behaviour worth knowing

A workspace or dataset id that was saved earlier is kept and displayed even when the current fetch cannot see it, so a package configured by someone with broader access still opens and runs. That also means an empty list on reopening does not mean the package lost its configuration.

Discussed in the community

Looking for related questions…

Didn't find your answer? Ask the community about this page — questions are answered by Timextender experts, partners and other users.