Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! Register now.
I have many SSIS jobs and Data factory pipelines that run everyday. Depending on the success of these jobs I need to trigger dataset refresh.
Some datasets should run after on job has completed, some datasets need to be run only after 3 or 4 jobs have completed.
Do you know of any of-the-shelf products that can organize our scheduleing, before I start and build a custom one?
Thank you.
Solved! Go to Solution.
Hi @BoNDoK01 ,
You can parameterize pipelines or read the datasets resp. tables you want to refresh in a pipeline step from a configuration table that you maintain, so you don't need to change the pipeline necessarily. You can also implement something like get all datasets from Power BI REST API or get all datasets within a workspace and then refresh this list, this way you can automatically include new datasets, but somehow the refresh activity needs to know which datasets to refresh. You can also get from the Power BI REST API the datasets and their data sources and once your pipeline has updated a data source you refresh all depending datasets. But data source in Power BI is a database, not e.g. a single table, so this might be a too high granularity for controlling refreshes.
If you have multiple pipelines that need to be executed before dataset refresh, you can build an orchestration pipeline, running these multiple piplines and then do one refresh of Power BI datasets. You can also have multiple pipelines that each do the refresh. It depends on your requirements and your ETL design what is more appropriate in order to prevent too many redundant refreshes.
The Azure equivilant for what used to be the Windows Task Scheduler is Azure Automation https://www.linkedin.com/pulse/azure-automation-vs-task-scheduler-jamie-lawson/ You can write a small PowerShell script there that does the refreshes an you can trigger execution from time events/schedules or webhook called events https://learn.microsoft.com/en-us/azure/automation/automation-webhooks?tabs=portal Your pieplines can call such webhook or any other event that you can turn into a webhook call. What events do you have in mind, technically?
BR
Martin
Modified: Corrected wrong link.
You can turn off scheduled refresh in Power BI and then add an activity to your pipelines calling the refresh Web-API https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/refresh-dataset-in-group or refresh XMLA API https://insightsquest.com/2021/02/21/xmla-based-pbi-dataset-refresh-automation/ (Premium workspaces only) to refresh the datasets only if the pipelines run successfully.
Hi @Martin_D
Adding refresh calls to the pipelines means two things:
1. Any new dataset created in Power BI requires us to do changes in our pipelines which is right.
2. We cannot easily configure a dataset to refresh based on two pipelines.
I was looking for an external scheduler where you can trigger actions based on different events.
Hi @BoNDoK01 ,
You can parameterize pipelines or read the datasets resp. tables you want to refresh in a pipeline step from a configuration table that you maintain, so you don't need to change the pipeline necessarily. You can also implement something like get all datasets from Power BI REST API or get all datasets within a workspace and then refresh this list, this way you can automatically include new datasets, but somehow the refresh activity needs to know which datasets to refresh. You can also get from the Power BI REST API the datasets and their data sources and once your pipeline has updated a data source you refresh all depending datasets. But data source in Power BI is a database, not e.g. a single table, so this might be a too high granularity for controlling refreshes.
If you have multiple pipelines that need to be executed before dataset refresh, you can build an orchestration pipeline, running these multiple piplines and then do one refresh of Power BI datasets. You can also have multiple pipelines that each do the refresh. It depends on your requirements and your ETL design what is more appropriate in order to prevent too many redundant refreshes.
The Azure equivilant for what used to be the Windows Task Scheduler is Azure Automation https://www.linkedin.com/pulse/azure-automation-vs-task-scheduler-jamie-lawson/ You can write a small PowerShell script there that does the refreshes an you can trigger execution from time events/schedules or webhook called events https://learn.microsoft.com/en-us/azure/automation/automation-webhooks?tabs=portal Your pieplines can call such webhook or any other event that you can turn into a webhook call. What events do you have in mind, technically?
BR
Martin
Modified: Corrected wrong link.