The drill-through solution from Power BI to Priority
Authors: Eran Sherf – BI project Manager and Power BI expert & Assaf Mazal-Tov – BI developer and characterization specialist.
Overview:
Our solution allows the user to explore an issue that appears in the Power BI dashboard by going directly to the specific screen in the Priority system.
The Drill-through solution is beneficial for companies that would like to take their BI to the next level: A data-driven solution. We implement such solutions to deal with issues efficiently and create an impact on the company’s performance.
The solution helps users to connect their BI alerts and
exceptions with an operational system. Implementing the solution makes it easier to understand an issue by a single click and drill-through and quickly get into the problem’s bits and bytes. And in many cases – even take immediate
action in the operating system that will be reflected shortly after – in the BI system.
It is another example of how you can create Revenue through Data.
About the Solution
The solution is a direct link from PBI to Priority.
The solution includes
- Creating the URL command that will open the relevant screen
- Understanding the Html file that runs the javascript
- Implementation of the solution in PBI
- A dynamic approach to suit each Priority screen / Business requirement.
The use case
In our case, we have a Power BI orders report with the order id and its details. We would like to click on a record that shows order details to open the specific order screen in Priority.
The challenge:
Power BI will not open Priority desktop as it will not open a link without “http://” or “file:”
The Solution:
The Solution Flow
The solution will allow a user to open a report in PBI > PBI will hold a link for each record with parameters> clicking on a record will open an HTML link with Parameters> the HTML file will use the parameters to open the required Priority screen.
Extract the Priority URL:
To find the priority URL you need to generate a report from Priority that will be displayed in the browser. We recommended to use google chrome for that.
Right click an order id (I.e. COO1710123) and choose “copy link address”
You should get a similar syntax to:
priority:priform@ORDERS:COO1710123:company_name:tabula.ini:1
The Priority URL command’s structure:
priority:priform@<screen>:<product>:<company>:tabula.ini:1
In details:
- <Screen>: The screen\subject browse i.e: Orders, Customers, etc.
- <Product>: The specific id of the order/customer etc.
- <Company>: Your specific company suffix
Create an HTML file
You can either work with our HTML file or create your own.
The HTML file name is pdrill.html, and we put it in our web service: https://www.d-a-team.com/
The HTML structure is as follows:
<script> var screen = location.search.slice(1).split("&")[0].split("=")[1] var product = location.search.slice(1).split("&")[1].split("=")[1] var company = location.search.slice(1).split("&")[2].split("=")[1] var link = 'priority:priform@' + screen + ':' + product + ':' + company + ':tabula.ini:1'; window.location.replace(link); </script>
*in case the Priority link that you extracted is different – create your own HTML file.
Implementing the web URL in Power BI
1. Create a calculated column:
https://www.d-a-team.com/pdrill.html?pr=ORDERS&pr2=order_name&pr3=company_name
2. The new calculated column should look similar to the last (Orange) column:
3.Create a Matrix that hold an Order column:
4. Open the conditional formatting menu, and turn on the Web URL option
5. Set the URL on the concatenated column (we called it – “Priority Link”) that you just created
6. Power BI now defines a different link to each order
7. Clicking on the Order sends opens the HTML file, passes the parameters, and right after – opens the Priority itself, in the desired screen and order:
- Notice that some browsers will demand Priority username and password while others won’t.
Enjoy the solution 😊.
If you have any questions feel free to contact us.