Power BI

From Resco's Wiki
Jump to navigation Jump to search
Wikipedia logo
Wikipedia has an article on a similar subject:

Power BI is a business analytics service by Microsoft. It can be used along with the Resco platform. This wiki offers two examples of integration between Resco and Power BI:

  • Display Power BI dashboards within Resco Mobile CRM (described in this article)
  • Visualize data from Resco questionnaires in Power BI (see deep dive)

Geting started

Resco Mobile CRM and other Resco mobile apps can display Power BI dashboards in an iframe. This page provides a quick overview of the two integration options and the necessary steps for properly displaying Power BI reports within Resco application.

Displaying Power BI dashboard in the iframe overview

For any questions, please contact our technical support.

Embedding Power BI to a website or portal

The "Embed to Website or Portal" option is a straightforward approach to embedding Power BI reports into websites or internal portals. The same option works very well also for displaying Power BI reports in the Resco mobile apps. This method is simple and offers fewer customization options.

Licensing and security

The key benefit of this method is the option to view the report without the Power BI Pro or Premium license. Reports that are public or shared within a controlled environment, like an internal company portal, can be viewed with a Free license. Accessible to any Microsoft account who has logged into Power BI. At the same time, due to the lack of an authentication process for viewers, this method is not recommended for sensitive or confidential information.

Share the report and configure the iframe

The whole setup is done in only two simple steps.

  1. In Power BI, open the report and go to File > Embed report > Website or portal, and copy the generated link.
    Embed to website or portal.png
  2. In Woodford, configure the iframe. Open your project and add an iframe component to a location where you wish to open the reports. Paste the link we just copied and click OK.
    ConfigurePowerBIiFrame.png

Embedding Power BI reports via JavaScript

Embedding Power BI reports through JS is a method that offers enhanced customization capabilities in comparison to the straightforward "Embed to Website or Portal" option.
An example of the integration is available on GitHub.

Licensing and security

Viewers of the reports are required to possess at least a Power BI Pro license, ensuring that all users have authorized access to the Power BI service. This method offers more security than publicly sharing reports. It allows for controlled access, where only authenticated users can view or interact with the embedded reports. It's crucial to note that this approach differs from the "app owns data" pattern, as it focuses on user-based authentication rather than the service principal or master user.

Check permissions

Check the permissions for the Power BI Service in your https://portal.azure.com/.

  1. Go to App registrations and open your app.
  2. Select Manage > API permissions from the menu.
  3. Verify that the appropriate permissions are available.

Displaying Power BI dashboard in the iframe: Check Power BI service permissions in your https://portal.azure.com

Get OAuth settings

  1. Select Overview from the menu.
  2. Copy the value of the parameter Application (client) ID.

Displaying Power BI dashboard in the iframe: Get OAuth settings: Power BI copy client id

Get client secrets

  1. Select Manage > Certificates & secrets from the menu.
  2. Create a new client secret or use an existing one.

Displaying Power BI dashboard in the iframe: Power BI client secret

Configure authentication

  1. Select Manage > Authentication from the menu.
  2. Configure the authentication options as needed.

Displaying Power BI dashboard in the iframe: Power BI authentication

Settings for workspace and and report / dashboards

To get the settings for workspace and report / dashboards, follow the instructions in Microsoft documentation.

Advanced

If you have any problem with the previous step, use this nuget package in the PowerShell console.

Start the PowerShell console as an Administrator and run the following commands. (Microsoft docs)

  • Start PowerShell as an Admin.
  • Install-Module -Name MicrosoftPowerBIMgmt
  • Connect-PowerBIServiceAccount.
  • Get-PowerBIWorkspace
  • Get-PowerBIworkspace -name "{report_name}" | Get-PowerBIReport
  • Get-PowerBIReport -Id 5364xxxx-xxxx-xxxx-xxxx-xxxxf1e7df89
  • Get access token: Get-PowerBIAccessToken -AsString

Important

In the code downloaded from the Power BI integration by Resco, you can find the method where we try to retrieve the access token using settings for OAuth OAuth_Settings.

Displaying Power BI dashboard in the iframe: method to retrieve the access token using settings for OAuth OAuth_Settings

The settings are stored in the associated name in the secure storage. If any settings exist for the passed name, we will use them, the OAuth_Settings are ignored.

In case you change those settings and want to apply these changes, you should delete all data in the setup, or pass a different name for the new settings.

See also