Given that is now possible to edit Semantic Models in the Power BI service, I would suggest to change the differential deployment check that TDI performs on these endpoints, so the data structure of the model is compared against Power BI instead of (or next to) the repository.
Currently, some issues arise through the following steps:
- A Semantic Model is changed by some business user in the Power BI service (tables, relationships or measures are changed, added or deleted)
- Differential deploy in TDI will then compare the endpoint against the repository to determine if changes were made. There are no changes detected (because they were made in Power BI and not TDI) so we get the ‘No changes to deploy’ window.
- Going through with execution in TDI is subsequently ‘succesful’ even though entire tables can still be missing in Power BI, and we would have no way of knowing this is the case.
The workaround currently is to always force deploy an endpoint as this re-creates the Semantic Model in Power BI conforming to the definition in TDI. And of course making sure that Power BI workspace members never edit the semantic models. But I still believe TDI should handle the possibility with more clarity.
So the idea is to change the differential deployment check, so the semantic model definition is compared against the actual target model in Power BI alongside the repository.
Secondly there should be a failure notification when executing a model with missing tables in Power BI.