1
votes

I have a client that has a large number of customers, and I have reports that can accept parameters and pass to a REST-based Web API to pull, for example, customer-specific records. This, of course, is easy using Power BI.

The challenge is, there could literally be 500,000 records out there, so filters and passing filters is not really an option. What I need to do is pass a value via Power BI Embedded to the report that will update the parameter of the Web API dynamically.

Such as https://services.server.com/api/customers/{customerId} . I have read and experimented with about every technique possible, and yet I still can't seem to pull this simple (and common) scenario off. To confirm, this is would work fine if I allowed a user to filter these values manually, but the goal is to have the Web.Content value be dynamic (like via a parameter) and then the parameter (like CustomerId) get fed to the report externally, like in a Power BI embedded parameter to the report. Again, this can't be a filter, I just want to do what you used to be able to do with SSRS or Crystal Reports and send something like {parameter} = (or eq) '{some value}' and have the report use that as the datasource JSON feed.

Any thoughts on this frustrating situation?

1

1 Answers

-1
votes

You can do this with RLS: https://docs.microsoft.com/en-us/power-bi/developer/embedded-row-level-security

Bring all the 500,000 records to your pbix. Define a role which will filter based on an username. When embedding, pass the role and the desired username to the embed token.