How to get the details for Power BI Performance load testing
When completing the Power BI performance load testing, you will need to get details from your Power BI report and App Workspace, which will later be used in the PBIReport.JSON file.
In this blog post I will show you how to find those details, so that when it comes time to add it to the PBIReport.JSON file, it will be easy to plug the values in.
The reason for a separate blog post is because you will have to find the GUIDs that are used, which takes a bit of time and knowledge to find the correct GUID for the right value.
UPDATE: I put in the wrong values to store for the Bookmarks, the section has been updated below.
Previous Blog post:
In future blog posts I will complete the following:
- Updating the PBIReport.JSON file with the Power BI Performance load testing details.
- Take information from the previous blog and put it into the JSON file.
- Checking to ensure that the JSON file is valid.
- Test to make sure it is working.
- Running a Power BI Performance load test using Visual Studio Code
- Run the load test simulating users,
- Give an example of what it looks like while it is running.
- View the Capacity Units from the Metrics App to understand how much Capacity the report consumed.
Example
Below is an example of the report page I want to test.
NOTE: You will typically need to find out the details of the report that needs to be tested, which pages need to be tested and how will the users interact with the report based on filtering, slicing or clicking on bookmarks.
For the test I have the following requirements.
- The report lives in the following App Workspace
- PPU Space Testing
- The report name is called:
- 1.WWI Sales – Testing
- Test the page called
- Analysis
- Change between the 2 bookmarks
- Colour
- Date
- Use the Slicer
- Customer
- Filter by the following:
- Table: Stock Item
- Column: Color
- Table: Order
- Column: Package
- Table: Stock Item
NOTE: The items highlighted above we will need to get the GUIDs.
Details required for PBIReport.JSON
There are multiple details which are required, which I will detail in the sections below.
Getting the GUIDS
In the section below I show you how to get all the required GUIDS.
App Workspace
To get the App Workspace GUID, I first go to the App Workspace.
As in my example it is called ”PPU Space Testing”
Next, in the URL I am looking for the GUID which is after the ”groups” section
My App Workspace GUID is “e67666c6-1722-4156-9643-f0e51a4e50d7”
Report Name
To get the Report GUID, I now need to open my report called “WWI Sales – Testing”
When looking in the URL I am now looking for the section after “reports”
My Report GUID is “2e4e394c-e08f-426d-82d4-63b40718d5be”
Page Name
Each page name also has a different GUID.
What I have noticed (And might not always be the case), is that the first page in your report will be called “ReportSection”
In my example the page I want to test was the first page, so when I click on the page I then look in the URL and I am looking for the section after the report GUID as shown below
In my example the page name is “ReportSection”
If my report page was another page, my report page would look like the following.
As far as I have experienced it starts with “ReportSectionGUID as above it would be “ReportSection444fa6681873e13b6176”
Bookmarks
Once again when you have bookmarks in your report, you can find the bookmarks in the URL.
NOTE: The difference with the Bookmark GUID is that this is always at the end of the URL.
I clicked on my Date bookmark.
As far as I have experienced it starts with “BookmarkGuid” as shown above it is “72c9854a720a0d4652e8” (Remember to ONLY keep the Guid after the “BookmarkGuid=”
NOTE II: When the report page loads, and there is a default bookmark selected, it will not show in the URL, you will have to click on another bookmark, and then back to the original bookmark to see the bookmark GUID.
With my working example my second bookmark GUID for the “Color” Button is “80b2a69dce76840e9809”
Summary
Here is a summary of which GUID is applicable in the URL.
- App Workspace GUID
- Report Name GUID
- Report Page GUID
- Bookmark GUID
Getting the Values
The section below is where I show you how to get the slicer and filter values needed for the performance testing.
You need to have the actual values for your slicers and filters in the JSON file, so this is how I get the values without having to manually type them in.
The way that I do this is typically open the report connected to the semantic model.
I then create a new page and create a table with the column I need for my slicer or filter.
QUICK TIP: Even if you do not have a column value in your slicers pane in your Power BI report, you can still pass through filter values in the Report.JSON which will add them to the report when the performance testing is taking place.
Slicers
For my slicer example I want to pass in different customers.
NOTE: There can be times when I have got customers that do not have any data, so I also put in a measure to only bring in customers with data, to ensure that my performance testing will be accurate.
- I created my table with “Customer” with my “Sales” measure to get all customers with data.
- Click on the three dots … to show the menu.
- Click on “Export data” so that it will export all my customers.
I leave the default which is ”Data with current layout” and click on Export.
This downloads it into an Excel File.
I open the Excel File, and I then add in the following formula which will get my Customer values into the right format for the Report.JSON file.
=””””&A2&””””&”,”
This is what the first row looks like in Excel.
I then drag this formula down for all my customer data values.
I then save this Excel file, as it now contains all my customer values I want to use in my performance testing.
Filters
For my filters I am going to repeat the same process.
I will get the color values in my Stock table into a table visual in Power BI, download the Excel file and apply the formula and save the Excel file.
And finally I did it for my last filter for the package values in my Order table.
Field Parameters
I recently had to do some performance testing for a customer who had field parameters.
The good news is that too can be part of the performance testing.
You can follow the same steps as above to extract all the values from the Field Parameters table allowing you too have the field parameters values in the right format for the Report.JSON
I will explain how to get Field Parameters working in a future blog post where I am showing you how to run the Performance load testing.
Summary
Once completed I have got my 3 Excel files saved ready to be used in the Report.JSON file.
Summary
In this blog post I have shown you how to get the relevant GUIDS required for the Report.JSON. I have also shown you how to extrct the data values which will be used in the slicers and filters in the performance testing.
In the next blog post I will show you how to take all the details above and update the Report.JSON.
Thanks for reading and any comments or suggestions are always welcome!
[…] Gilbert Quevauvilliers finds some UUIDs: […]