Hello, we need to display the first page of the embedded reports (PowerBI Embedded, App owns data).
I used two methods described below and these both worked fine for some time. But it seems that these methods do not work consistently. We've noticed that after deploying code to web server the first page of the reports is not always opened first.
I also tried locally in .Net code and have the same issue.
1st way: using pageName in config where defaultPageName is a variable:
var models = window['powerbi-client'].models; var config = {pageName: defaultPageName, type: 'report', tokenType: models.TokenType.Embed, accessToken: embedToken, embedUrl: embedUrl, id: embedReportId, permissions: models.Permissions.All, settings: { filterPaneEnabled: false, navContentPaneEnabled: true } }; var reportContainer = pageDocument.getElementById('reportContainer'); var report = powerbi.embed(reportContainer, config);
2nd way: using load/render functionality as defined in https://powerbi.microsoft.com/en-us/blog/power-bi-developer-community-january-update/
where pageIndex is a variable:
var config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: embedToken,
embedUrl: embedUrl,
id: embedReportId,
permissions: models.Permissions.All,
settings: {
filterPaneEnabled: false,
navContentPaneEnabled: true
}
};
var reportContainer = pageDocument.getElementById('reportContainer');
var report = powerbi.load(reportContainer, config);
report.on('loaded', function () { report.getPages() .then(function (pages) { if (pages[pageIndex].isActive == false) { pages[pageIndex].setActive() .catch(function (errors) { Log.log(errors); }); } }) .catch(function (errors) { Log.log(errors); });report.render(config); });
Does anyone else have similar issue?
Thanks