Power BI Reports Monitoring Tool in 5 minutes


Did you ever wanted to have an application or a report where you can see all reports in one place for testing/administration purpose? Sometimes it becomes tedious to check a status of numerous reports in your workspaces across tenants (organizations). So I started thinking on easy to implement and dynamic solution which I can reuse with other customers.

In this article you can learn several approaches which I discovered during my research and each can be implemented in 5 minutes. It describes a real case but pictures used in this post are based on my open source reports.

Problem

I’ve got a project for supporting huge amount of reports for 1 customer (around 60 items). Almost all of them are connected to the same dataset in Power BI. Sometimes it is required to different changes to specific reports or all of them simultaneously. For instance, if I changed something in a main dataset then I need to check each of related reports and let say we spend 1 minute for each report (open it and check possible broken visuals), so then it can take around 1 hour in total.

Solution

I found three options:
1) Create it as a Power BI Dashboard and embed all reports using Pin Live option. Your dashboard and reports should be in the same workspace)
2) Create it as a Power BI Dashboard and embed all reports as Web content tiles. Your dashboard and reports can be in different workspaces and even in different companies
3) Create a HTML file and embed all reports as iframes. Reports can be in different companies

Common comment for last two cases that Secure Embed (it is also called Embed into website or portal) option are used.

Let me show and explain all versions.

Pin Live

Steps are next:
1) Create a dashboard in the same workspace where your reports are located
2) Open a report which you want to embed in another tab
3) Select menu -> Pin a live Page

4) Repeat Pin a live Page for each report
5) Resize reports (if needed)

Secure Embed

Steps are next:
1) Create a dashboard in any workspace in any account
2) Open a report which you want to embed in another tab
3) Select menu -> Embed -> Website or portal

4) Then you will get a window with a html code of iframe you need to use. Copy the value from a second text box (highlighted in yellow on the picture below)

5) Back to a browser tab with a dashboard
6) Create a tile in a dashboard -> Select Web content -> Press Next

7) Paste the code of iframe you’ve copied before into a text box Embed code
8) Check mark Display title and subtitle and enter a name of report and any additional information

   
9) Press button Apply


10) Repeat embedding for each report
If you need the report to be smaller then go to Edit Details menu of the tile by hovering three dots in right top corner and change iframe width and height.


Here are two examples of usage.
You can see all reports across over DEV/TEST/PROD workspaces:
Or organize them into a list:

Create a HTML file

Steps are next:
1) Open a notepad and paste below code to it

<!DOCTYPE html>
   <html>
   <head>
      <title>Power BI</title>
   </head>
   <body>
      <h1>Report monitoring tool</h1>
      <p>The tool purpose is to visually check the status of a big amount of reports</p>
      <table width="100%" border="0" cellspacing="5" cellpadding="5">
         <tr>
            <td>...</td>
            <td>...</td>
         </tr>
      </table>
   </body>
</html>
2) Save file with an extension .html
3) Go to each report which you want to embed and get a Secure Embed code of iframe (as we did before)
4) Paste each separate code instead of three dots in our html file. Resize width and height (if needed)

5) Press Save
6) Open a HTML file in any browser. It might ask to login with your Power BI account

Summary 

Three approaches of creation of Reports Monitoring apps were provided in this article. Two options can be created as Power BI dashboards by using either Pin Live or Secure Embed option, but in first case your dashboard should be in the same workspace. Third option is flexible as second one, but it requires a little bit more HTML codding.   
Of course you need to consider total reports (which you embed) RAM usage in cloud and be careful if you have many reports with Import or Mixed connections. So somtemites it make sense to separate list of reports into groups.
Do you have an another solution? Let me know in comments.

Коментарі

Популярні дописи з цього блогу

[DAX] Динамічна відносна фільтрація в slicer за допомогою віртуальних зв'язків DAX

[Power BI] Створена Power BI версія Vertipaq Analyzer. Додано автоматичне форматування коду