Skip to main content

Power BI

Under Review

Allow to pass parameters to an iframe for Power BI Embedded

Vote (96) Share
Paul's profile image

Paul on 20 Jul 2016 22:02:01

Scenario: We have a website with Power BI embedded analytics and details provided by SSRS reports. On the top you could see the parameters for the reports (multiple value, single value, all). It would be great if we could pass (securely) parameters to power bi embedded so that the datasource only shows certain data. Imagine that I would have to share this dataset for several customers and I want to filter data by customer instead of creating one datasource for each of them.
Thanks!

Comments (15)
Paul's profile image Profile Picture

3101328d e4e2-4d82-a3ff-9aefdd878e1e on 05 Jul 2020 22:38:32

RE: Allow to pass parameters to an iframe for Power BI Embedded

I voted for this, and here is more specifically what I think is the needed enhancement to RLS for Power BI Embedded:

In addition to passing an RLS "role", I would like to be able to pass (in the app token) any number of parameters, which can be used WITHIN the corresponding rule for that role.

Regarding current RLS functionality, per this page...
https://docs.microsoft.com/en-us/azure/power-bi-embedded/power-bi-embedded-rls

This help doc seemed to imply, but did not explicitly say, that if I (a) set up an RLS rule that includes the USERNAME () function in the table filter DAX expression, and (b) use Power BI Embedded to access the model...

...Then the USERNAME () function in the table filter DAX expression will evaluate to the "username" that was passed as part of the app token. For example, 'Andrew Ma' from the example.

I wondered: is that true?

And is it also true that the ONLY thing you can actually do with the "username" from the app token is to have it returned by the USERNAME () function, in a table filter DAX expression, as part of an RLS rule?

I did some testing and I believe the answer to both questions is "yes."

I think that in effect, the "username" element of the app token can be used as a single arbitrary parameter, to be used within a table filter DAX expression, as part of an RLS rule.

It doesn't have to act strictly as a username; I passed an integer, and in my table filter DAX expression, I used VALUE(USERNAME () ), and it worked to filter on an integer ID in any table.

Which is really convenient!

But also, it seems like a limitation that there is only one; and it is misleading that it is called "username". Instead, I think I should be able to pass any number of such parameters; and, they should have a more generic naming convention instead of "username".

Instead, in the app token, I should be able to pass many parameters like param1 = "foo"; param2 = "145"; param3 = "false"

And then, instead of the USERNAME () function, there

Paul's profile image Profile Picture

e1d354af 8dbd-4164-9e41-7ccbbbfc88cd on 05 Jul 2020 22:36:28

RE: Allow to pass parameters to an iframe for Power BI Embedded

Are you aware of RLS in Power BI Embedded?
https://docs.microsoft.com/en-us/azure/power-bi-embedded/power-bi-embedded-rls

Paul's profile image Profile Picture

7c70c8ed ecc6-41e6-a80f-cf5665f78cb6 on 05 Jul 2020 22:32:10

RE: Allow to pass parameters to an iframe for Power BI Embedded

Its importan to pass parameter to a report. I hav a case where the user needs to select the money exchange and view the reports in diferent money. And this is the begining...

Paul's profile image Profile Picture

7bee3e73 ed13-4056-a054-bf7c657820af on 05 Jul 2020 22:29:23

RE: Allow to pass parameters to an iframe for Power BI Embedded

Will this do what you need?
https://powerbi.microsoft.com/en-us/blog/intro-pbi-js-api/

Paul's profile image Profile Picture

b9d44ac1 46d4-4014-8920-3907b24ba9f8 on 05 Jul 2020 22:27:49

RE: Allow to pass parameters to an iframe for Power BI Embedded

Yes this requirement is very important, we should be able to pass the parameters, bcz we want to dynamically generate reports for user specific data.