Forum Discussion
How do I pass Paginated Report Parameters using PowerBI-JavaScript powerbi-client?
I am using dataset parameters, not dataset filters so the second link, Filters (Parameters) for RDL (Paginated) report in PowerBI-JavaScript API, will not work. In my scope, Filters are not acceptable due to performance issues as discussed Data retrieval guidance for paginated reports - Power BI | Microsoft Docs
The first link, Passing the configured parameter using the embed token, is a horribly convoluted and limited in scope hack. I did get it to work however:
- Testing does not work with
- Power BI Report Builder
- Power BI App Service
- Since it is not baked in, the workaround is not self documenting
- There is a Built-in Field for the Report, UserID (User!UserID)
- The Token Identity username maps to this Built-in Field
- If you need the actual Report UserID you cannot use this hack
- Does Not work if there are Multiple dataset Parameters
- Could pass a mult-value string in Identity username
- Parse UserID on Report side
- Doubtfully use other Identity Properties but are they mapped to Report Built-in Fields?
- datasets
- roles
- customData
- identityBlob
- reports
- Could pass a mult-value string in Identity username
- This is not an acceptable solution
Hi DJBadinN,
I managed to embed a simple paginated report using embedded dataset, but for POC I would need to pass some filters as well as I need to explore the capabilities of applying RLS. I defined a Built-In-Field UserID as filter (at this point I am not concerned about performance, and eventually can rework this as parameter).
Can you please help with hacking the call to GenerateTokenRequest API? Per MS documents, this is how the body is supposed to look like:
I came up with this using C# sample:
However, EffectiveIdentity method does not have a parameter 'reports' so I am guessing it shouldn't be used at all?
I am picking up C# on the spot hence struggling with coming up with a custom solution, and any suggestion/hint would be greatly appreciated!