Forum Discussion
Passing parameters from power bi report server to SSRS RDL does not work
- 4 years ago
It does not matter what tool you use to author the rdl files. The issue is that Report Server uses the Reporting Services syntax for passing parameters via the URL which is slightly different to the Power BI service syntax. If you remove the rp: prefix your urls should work (see https://docs.microsoft.com/en-us/sql/reporting-services/pass-a-report-parameter-within-a-url?view=sql-server-ver15 )
- 4 years ago
OK found the problem...wrote "False" instead of False()
I'm new to DAX so learning the hard way I guess...
pbiuser1234 wrote:
If I need multiple values, is there a way in DAX syntax for some kind of loop?
Yes, you could use the CONCATENATEX function
PaginatedaReportURL =
var _baseurl = "https://ReportServer/reports/ReportName"
var _selectemployee = CONCATENATEX(VALUES(Query1[Employee]), "&Employee=")
var _reportparameterEmployee = "?Employee="&_selectemployee
var _result = _baseurl&_reportparameterEmployee
return
_result
pbiuser1234 wrote:
Also I want the rdl to open up automaticly in excel so I've added "&rdl:format=excel" to the URL - but this also doesn't work (also tried "&rs:Format=excel" or "&Format=excel"). Maybe syntax also should be different for the server version?
The "rs:Format=EXCEL" should get you an xls file, if you use "rs:Format=EXCELOPENXML" it will return an xlsx file. (see https://docs.microsoft.com/en-us/sql/reporting-services/url-access-parameter-reference?view=sql-server-ver15 ) - I don't think the upper/lower case matters
Thanks for the reply,
About opening an excel file, I tried this code but it doesn't work:
https://<ServerName>/<Reports>/report/<ReportFolderName>/<ReportName>?rs:format=excel
If I change the question mark location anywhere before folder name - it leads me to the folder root. for example:
https://<ServerName>/<Reports>/report/<ReportFolderName>?/<ReportName>&rs:format=excel
What am I doing worong?
I have to say that "rs:embed=true" works fine written like this:
https://<ServerName>/<Reports>/report/<ReportFolderName>/<ReportName>?rs:embed=true
Thanks again
- pbiuser12344 years agoHelper I
OK I found the solution 🙂
I relied on another post of yours that I found:
Note that you need to use the Webservice url (/reportserver by default), not the portal url (/reports by default)
Thanks again!
Mooving on to check the CONCATENATEX suggestion 🙂
- v-henryk-mstf4 years agoCommunity Support
- pbiuser12344 years agoHelper I
Hi Henry,
So I've used the CONCATENATEX for multiple choice selection and it works great if I choose some of the values. But for all values selected I get an error (don't see any reference in the log files), I'm guessing the problem is the length of the URL.
1. Is there a way to shoten the URL?
2. I'm trying to write a DAX code to return URL with no filters if no selections were made, it doesn't work (returning any result without the IF statement works, also the ISFILTERED statement returns values correctly):
PaginatedaReportURL =
var _baseurl = "https://ReportServer/reports/ReportName"
var _selectemployee = CONCATENATEX(VALUES(Query1[Employee]), "&Employee=")
var _reportparameterEmployee = "?Employee="&_selectemployee
var _result_filterd = _baseurl&_reportparameterEmployee
var _result_all = _baseurl
return
if( ISFILTERED(Query1[Employee])="True", var _result_filterd, var _result_all )Hope you can help...Thank you