Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

Reply
benw101010
New Member

API Export with captured bookmark state only has current page filters

When I pass the bookmark state to request PowerBIClient.Reports.ExportToFileInGroup, only the filters / slicers for the current page are applied to resulting export (powerpoint).

 

In javascript, I'm capturing the bookmark from an embedded PBI report...

 

.report.bookmarksManager.capture({
allPages: true,
personalizeVisuals: true
})

 

Please advise if there is a way to get filters from all pages in an export report.

 

1 ACCEPTED SOLUTION

I found my issue - I needed to update powerbi.js.  Exported pdf now has page level filters from captured bookmark.

 

https://github.com/microsoft/PowerBI-JavaScript/tree/master/dist

View solution in original post

4 REPLIES 4
AmosHersch
Microsoft Employee
Microsoft Employee

Not sure why it's not working. Might be a bug on Power BI side but requires investigation.

Since you are already using Power BI JS to capture the bookmark I would try to apply the captured bookmark state and see if it works or not.

I found my issue - I needed to update powerbi.js.  Exported pdf now has page level filters from captured bookmark.

 

https://github.com/microsoft/PowerBI-JavaScript/tree/master/dist

benw101010
New Member

yes defaultBookmark.  c# server side code...

 

var powerBIReportExportConfiguration = new PowerBIReportExportConfiguration
{
Settings = new ExportReportSettings
{
Locale = "en-us",
},
// Note that page names differ from the page display names
// To get the page names use the GetPages REST API
Pages = pageNames?.Select(pn => new ExportReportPage(pn)).ToList(),
DefaultBookmark = new PageBookmark(null, bookmark.state),
Identities = identities
};

var exportRequest = new ExportReportRequest
{
Format = format,
PowerBIReportConfiguration = powerBIReportExportConfiguration,
};

// The 'Client' object is an instance of the Power BI .NET SDK
var export = await client.Reports.ExportToFileInGroupAsync(groupId, reportId, exportRequest);
// Save the export ID, you'll need it for polling and getting the exported file

var result = new ExportRequest()
{
ExportId = export.Id,
ReportName = report.Name,
ReportId = reportId,
GroupId = groupId
};
return result;

 

AmosHersch
Microsoft Employee
Microsoft Employee

Hi @benw101010 ,

 

Can you please share how the request to the API looks like?

Do you just pass the captured bookmark state in the defaultBookmark parameter?

Helpful resources

Announcements