Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 15 Next »

Context and Problem

image-20250122-194334.png

0 - Initially, the data related to the report is stored in the dataverse (SQL DB) in an XML format and precisely, in a field [FomrXML] of the table [SystemForm].

1 - The Power BI developer creates a new report or update the identifier of the report.

2 - The Power BI developer publish the report in a specific workspace or group in the Power BI Service or Platform.

3 - Because the new identifier is different from the identifier stored in the dataverse, the link is broken and displays an error message in the IFrame deployed in a form of the Power Apps.

NB: How to redeploy the new link in the dataverse based on the update published in the PBI Service ?

Here’s a list of limits and contraints to consider :

  • When we publish a report from the Power BI Desktop, the process will log a message which is only accessible to the Power BI Administrator.

  • When we publish a report from the Power BI Desktop, no event is triggered by the process and stored in the PBI Service.

  • When we publish or refresh, we cannot add Power BI alerts.

  • The refresh of a report is not enough to determine if there was a change from the Power BI Dekstop.

  • The Power Platform (Power Automate) does not provide a flow which would retrieve the events / behaviors generated by any processes in Power BI Service.

  • The Microsoft Fabric Platform does not provide a Power BI connector capable of connecting and retreiving data and metadata from the Power BI Service.

  • When the IFrame in Power Apps displays the error, no event is generated by the Power Platform (Apps) or no information is stored in the dataverse.

    • Even it’s not possible to catch the client error in the IFrame with a JavaScript deployed in the dataverse.

Solution

Because of the limitations mentioned above, we cannot start from the Power Platform and neither from Power BI. And, so, we need to build our solution based on a schedule and not an event.

Applicative Architecture

The application could be a listener or an executable triggered by a schedule. In Azure, we would mention an Azure Worker Role or an Azure Web Role.

image-20250123-162121.png

1 - The service gets the metedata of the reports stored in a workspace (or environment) of Power BI Service.

2 - The service generates the future data to store in the dataverse, in an XML format and in a string type because the dataverse takes only a string type.

3 - The service updates or creates the data in the table [SystemForm] of the dataverse.

4 - To enable the changes in the DB, the service published the table.

Software Architecture

Limitations and recommendations

  • No labels