Power BI
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.
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.
The whole setup is done in only two simple steps.
- In Power BI, open the report and go to File > Embed report > Website or portal, and copy the generated link.
- 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.
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/.
- Go to App registrations and open your app.
- Select Manage > API permissions from the menu.
- Verify that the appropriate permissions are available.
Get OAuth settings
- Select Overview from the menu.
- Copy the value of the parameter Application (client) ID.
Get client secrets
- Select Manage > Certificates & secrets from the menu.
- Create a new client secret or use an existing one.
Configure authentication
- Select Manage > Authentication from the menu.
- Configure the authentication options as needed.
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.
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.