cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Set filters while embedding a visual

Hello everyone, 

I am trying to set the filters on the visual while embedding it. 
I am getting the following error. 
error.png

Is there any workaround for this? 

 

The embed code:

	const filter = {
		$schema: "http://powerbi.com/product/schema#basic",
		target: {
			table: "Manufacturer",
			column: "Sample Data"
			},
		operator: "In",
		values: ["Abbas"]
	};

    var config = {
        type: 'visual',
        accessToken: accessTokenToUse,
        embedUrl: embedURLToUse,
        reportId: reportIdToUse,
        pageName: pageNameToUse,
        visualName: visualNameToUse		
     };	
    var dashboard = powerbi.embed(visualDiv, config);
	dashboard.setFilters([filter]);  



1 ACCEPTED SOLUTION
Microsoft
Microsoft

Hi @Anonymous,

 

I'm afraid setting filters while embedding visuals isn't available for now. Please refer to the source code of Powerbi.js. I would suggest you create an idea here.

 

Set_filters_while_embedding_a_visual

 

Best Regards,

Dale

Community Support Team _ Dale
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

2 REPLIES 2
Frequent Visitor

Hi

Recently I have come across that problem as well

Just found a solution. It is to change object <filters> and call method <reload> of Visual.

 

/**
         * Reloads embed using existing configuration.
         * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state.
         *
         * ```javascript
         * report.reload();
         * ```
         */
        reload(): Promise<void>;

 

For example

const pbiService = new pbi.service.Service(pbi.factories.hpmFactory, pbi.factories.wpmpFactory, pbi.factories.routerFactory);
const embeddedObj = <pbi.Visual>(pbiService.embed(embedContainer, embedObj.config as {}));
// will update visual using new filters from newFiltersArr after 10 seconds
setTimeout(() => {
    (embeddedObj.config as any).filters = newFiltersArr;
    embeddedObj.reload();
}, 10000);

 

Microsoft
Microsoft

Hi @Anonymous,

 

I'm afraid setting filters while embedding visuals isn't available for now. Please refer to the source code of Powerbi.js. I would suggest you create an idea here.

 

Set_filters_while_embedding_a_visual

 

Best Regards,

Dale

Community Support Team _ Dale
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

Helpful resources

Announcements
secondImage

Happy New Year from Power BI

This is a must watch for a message from Power BI!

December Update

Check it Out!

Click here to read more about the December 2020 Updates!

Community Blog

Check it Out!

Click here to read the latest blog and learn more about contributing to the Power BI blog!

Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Mark your calendars and join us for our next Power BI Dev Camp!.