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!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Hi,
I have some Data Pipelines in Fabric where a Semantic Model Refresh activity is at the end of the pipeline.
From time to time, the semantic model associated with the activity becomes unlinked, and when that step is executed, no semantic model is actually refreshed. It doesn't give an error, because even if there is no associated semantic model, the activity is executed successfully.
This is how the activity gets, empty, not initilized with a semantic model:
Why does it become unlinked? I haven't found a pattern. Perhaps it could be that someone opens the data pipeline to edit it, saves it, and in that process the semantic model becomes unlinked, but I'm not sure about that either. What is clear is that no one removes it on purpose; it becomes unlinked for some reason, and you don't realize it until you want to consult the data in the report that is fed by the semantic model and see that the data is not up to date.
Anyone with the same issue? any ideas?
Solved! Go to Solution.
I agree this looks like a product bug. I have also seen the Semantic model refresh activity lose its selected semantic model after a save and reopen, leaving the step valid but pointing at nothing and completing without error. The official docs cover how to configure the activity but do not mention this behavior, which suggests it is unintended.
This has also been reported here in other forum posts: Pipeline doesn't save changes to Semantic model refresh Activity
Verify after saving
After you click Save, refresh the browser and reopen the activity to confirm the semantic model is still selected. This catches the silent no-op case early.
Use an ID-based refresh instead of the UI binding
Trigger the refresh by workspaceId and datasetId using the Power BI REST API from a Web or Notebook activity. Docs: Datasets - Refresh and Get Refresh History. If you prefer a notebook approach, Semantic Link (SemPy) exposes helpers and a Fabric REST client you can call programmatically: SemPy FabricRestClient and Semantic Link overview.
Add a post-run check
Immediately after the refresh step, call Get Refresh History for the target dataset and fail the pipeline if there is no recent entry.
If you found this useful, consider giving Kudos. If I solved your problem, mark this post as the solution.
Total opinion based response here:
I, too, think that the Semantic Model Refresh task is not ready for prime-time. First, it asks for a list of tables (which is totally optional, but does not indicate such). And I have seen this behavior as well, or something similar.
Microsoft should downgrade the task back to "preview" and give it a thorough testing, including folks like @amaaiia as front-line testers.
Proud to be a Super User! | |
I couldn't agree more @ToddChitt. This feature clearly has not had thorough enough testing to be made GA.
Using the REST APIs is the more stable way of doing this right now.
I agree this looks like a product bug. I have also seen the Semantic model refresh activity lose its selected semantic model after a save and reopen, leaving the step valid but pointing at nothing and completing without error. The official docs cover how to configure the activity but do not mention this behavior, which suggests it is unintended.
This has also been reported here in other forum posts: Pipeline doesn't save changes to Semantic model refresh Activity
Verify after saving
After you click Save, refresh the browser and reopen the activity to confirm the semantic model is still selected. This catches the silent no-op case early.
Use an ID-based refresh instead of the UI binding
Trigger the refresh by workspaceId and datasetId using the Power BI REST API from a Web or Notebook activity. Docs: Datasets - Refresh and Get Refresh History. If you prefer a notebook approach, Semantic Link (SemPy) exposes helpers and a Fabric REST client you can call programmatically: SemPy FabricRestClient and Semantic Link overview.
Add a post-run check
Immediately after the refresh step, call Get Refresh History for the target dataset and fail the pipeline if there is no recent entry.
If you found this useful, consider giving Kudos. If I solved your problem, mark this post as the solution.
I've tried to set workspace ID and dataset ID manually:
But getting this error:
Are you specifying the Workspace and Semantic Model by their GUIDs? I don't thing this dialog box accepts those values, only the names.
Proud to be a Super User! | |
The text next to the text box says IDs, not names..
Hi @amaaiia,
Thank you for reaching out to the Microsoft fabric community forum.
This issue usually happens when the pipeline is opened in edit mode and saved again during that time the semantic model link may get cleared. The activity still runs, but since no model is linked, nothing gets refreshed. Best way is to re-check the semantic model is selected before saving the pipeline and also confirm from refresh history that data is updated.
please go through with the below document hope it may resolve your Issue:
https://learn.microsoft.com/en-us/fabric/data-factory/semantic-model-refresh-activity
https://learn.microsoft.com/en-us/power-bi/connect-data/data-pipeline-templates
Hope this helps if you have any queries we are happy to assist you further.
Best Regards,
Harshitha.
But is that a bug? I guess it shouldn't be cleared the semantic model..
Hi @amaaiia,
The semantic model should not get cleared by itself. This looks like a product issue and some other users have also faced the same. That is why sometimes after saving the pipeline, the model link is lost. Best is to always re-check once you save, and also confirm from refresh history that the data is updated.
Regarding the error you got, manually entering Workspace ID and Dataset ID will not work here. The activity needs the semantic model to be selected from the dropdown. If you want to refresh using IDs, the better option is to call the Power BI REST API workspaceId + datasetId through a Web or Notebook activity.
If this keeps happening, I suggest raising a support ticket with Microsoft so that the product team can investigate and fix the bug.
Please refer below link on how to raise a contact support or support ticket.
How to create a Fabric and Power BI Support ticket - Power BI | Microsoft Learn
Best regards,
Community Support Team.