March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
As shown in:
https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html#
we have to provide pageName and visualName. These are strings that don't seem to be discoverable from the report designer. If I design a report with pages and visuals on those pages, how do I discover the strings I need to use to display one visual?
The names don't seem to be displayed or modifiable anywhere. If I could put one visual per page and then use the page name to show the right visual, that would work. But it turns out that pages have two names: the name and the displayName. The name is used in embedding but is apparently not displayed/editable anywhere. The displayName can be edited in the report designer, but is not the right thing to use in embedding.
I know I can get them at the client by embedding the report, waiting for the loaded event, calling getPages on the report and then getVisuals on each page. But that suggests I would need to create a hidden element to embed the report into, go through all those steps, so I could search for the right page (by its display name?) and take its first visual.
I guess I'm missing something obvious.
You have to use Power BI service and get the name from the url, it will show as "ReportSectionff84e9ab2bc3f5fb5f74"
Then you just plop that into the embeded URL: &pageName=ReportSectionff84e9ab2bc3f5fb5f74 and whalla, they seemed to have changed to a new URL scheme without telling us leaving us clueless when trying to embed only a certain page
The fact that the powerbi-client library allows specifying a 'default page' implies that these names would be discoverable somehow. https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details#options
Has anybody figured this out yet? The only way I have found to get the page 'name' is by calling 'report.getPages()', at which point there's no point in being able to specify a default page when embedding.
did you ever solve this?
I am currently running into the very same issue.
Using the name for the visual returned by getVisuals() does not seem to work
Not really. The necessary names are in the .pbix file but you have to unzip it, and then unzip some nested .zip inside it, and then use guesswork to find the names. It's really inconvenient.
If here you prefer to embed the Visual, then the report and report page for the visual are required.
Or you may consider to embed the tile in a dashboard:
Regards,
Michael
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
6 | |
3 | |
3 | |
2 | |
2 |