Forum Discussion
Paginated Report - Using URL Parameters and Select ALL
Hi all,
Our users require the option to download what they are seeing in a Power BI table into Excel. Rather than allowing them to use the Export Data into CSV option, we would prefer to give them a fully formatted Excel download.
Paginated Reports using URL parameters, as described in this Guy In A Cube video: https://youtu.be/KYfhclGrI48 2, appears to be great for this, but we are struggling to get it to work when we have many values in the slicer. The issue is that whilst we can pass one or many selected values in the URL, there appears to be a limit and beyond this limit the URL will fail.
Please see examples uploaded to Dropbox:
Paginated Power BI Report.pbix
Mock up report containing one slicer, one table and an Excel download button. Measure Base Export URL creates the URL string to be passed, by concatenating all of the selected values into a URL, which includes the baseURL of the paginated report (pre uploaded into the service)
Paginated Report Test.rdl
RDL file containing a simple table. Parameter ‘Sites’ receives the list of indexes (Store numbers) from the Power BI Report.
How to use:
1, Upload the Paginated Report .rdl file into a Workspace and copy and paste its url from within the service.
2, Open the Power BI report in Desktop and paste the URL into variable __baseURL1 in measure Base Export URL.
3, Select a few sites from the slicer and Ctrl-Click the Excel download button.
4, The paginated report should then open, run and an Excel download will occur.
If you run the report with one or a few sites selected, then the Excel will generate.
If you use ‘Select All’ in the Slicer, the Excel report will fail with the error: "This app.powerbi.com page can’t be found."
If you select all values and then uncheck the last 4 (so that Tesco Teeside is the last selected value), then the report will work. However include Tesco Tetbury and it fails.
I am therefore wanting to find a solution to effectively not pass every value to be checked, but instead being able to pass a ‘Select All’ value.
Any thoughts on how to get around this very much appreciated!
Mark
Ok, after much investigation and great support from Microsoft, we found the solution and it was dead simple!
Set the paginated report up so all parameters are loaded with Default values from the dataset. And then for the URL string passed from the calling Power BI report, only reference a parameter if the user has actually selected a value from a slicer. If the user has selected no values from any slicers (eg Select All), then simply submit the default Paginated Report URL string. If a user has selected a value from a slicer, then modify the URL to include a reference to that particular parameter and its selected values.
11 Replies
- audministratorFrequent Visitor
To build a multi select drop down box in a paginated report. Takes quite a few steps which are not so easy to figure out...
Therefore I created a step by step guide on how to :
https://audministrator.wordpress.com/2019/12/20/power-bi-report-builder-using-parameters/
Hopefully this can help !
- MarkSLHelper V
Thanks for the input and the guide. However my Paginated Report does already have this functionality - please download the example rdl file I supplied. When you run the report you will see there is a dropdown called Site. Here I can successfully select one, a few or Select All and the report works.
The query is, here can I select all values when calling the Paginated Report from my Power BI report, using the URL Parameters. The Guy in a Cube video, demonstrates with just a single value being supplied. However you can concatenate the values together, but there is a limit before the URL fails. I am hoping there is a way, using URL Parameters, to 'Select All' and not have to pass seventy, eighty individual values in the URL string.
Thanks
Mark
- audministratorFrequent Visitor
Is this is not a working solution where you test on whether the parameter value is NULL (Empty).
And next create a DAX condition that if it is NULL you will take 'ALL' all a default value.
Example :
https://prologika.com/ssrs-multivalue-parameters-in-dax/
EVALUATE
SUMMARIZECOLUMNS (
‘Date'[Fiscal Year],
FILTER (
VALUES ( ‘Date'[Fiscal Year] ),
(
OR (
( @DateFiscalYear = “All” ),
PATHCONTAINS ( @DateFiscalYear, ‘Date'[Fiscal Year] )
)
)
),
“Internet Total Sales”, [Internet Total Sales],
“Reseller Total Sales”, [Reseller Total Sales]
)