Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Greetings,
We are migrating from SAP BO to Power BI. We are using Paginated Reports to replace some of the SAP BO reports. Some SAP BO reports have multiple views. Users can export any number of the views at once to various formats. In Report Builder, I have created the views by using parameters to show/hide tables based on the selected value. I can export one view at a time this way. But is there a way to export the data for multiple different parameter values or will users need to manually run and change the parameter value for each view?
Solved! Go to Solution.
In Report Builder, there is no direct function to export multiple views at once based on different parameter values like SAP BO. However, you can achieve similar functionality through some workarounds:
You can create subscriptions to deliver reports with different parameter values to different destinations. This way, users don't have to run the report multiple times to get all the views they need. For subscriptions to paginated reports, you can click the following link:
https://learn.microsoft.com/en-us/power-bi/collaborate-share/dynamic-subscriptions
Alternatively, you can use PowerShell to do this:
# Set the variables
$reportServerUri = "http://your-report-server/reportserver"
$reportPath = "/Your/Report/Path"
$outputDirectory = "C:\Reports\Exports"
$reportFormat = "PDF" # Other formats can be "EXCEL", "WORD", etc.
$parameterName = "YourParameterName"
$parameterValues = @("Value1", "Value2", "Value3") # List of parameter values
# Loop through each parameter value
foreach ($paramValue in $parameterValues) {
# Construct the URL to render the report with the specific parameter
$url = "$reportServerUri?%2f$reportPath&rs:Format=$reportFormat&$parameterName=$paramValue"
# Specify the output file name
$outputFileName = "$outputDirectory\Report_$paramValue.pdf"
# Call the report server to render the report
$response = Invoke-RestMethod -Uri $url -Method Get -UseBasicParsing
# Save the report to the file system
[System.IO.File]::WriteAllBytes($outputFileName, $response)
Write-Host "Exported $paramValue to $outputFileName"
}
Write-Host "Export completed."
This is a simple PowerShell script that loops through different parameter values, renders the report and saves each view as a PDF. You need to have enough knowledge of PowerShell to implement it. In a sense, this is already programming.
hackcrr
If I have answered your question, please mark my reply as solution and kudos to this post, thank you!
In Report Builder, there is no direct function to export multiple views at once based on different parameter values like SAP BO. However, you can achieve similar functionality through some workarounds:
You can create subscriptions to deliver reports with different parameter values to different destinations. This way, users don't have to run the report multiple times to get all the views they need. For subscriptions to paginated reports, you can click the following link:
https://learn.microsoft.com/en-us/power-bi/collaborate-share/dynamic-subscriptions
Alternatively, you can use PowerShell to do this:
# Set the variables
$reportServerUri = "http://your-report-server/reportserver"
$reportPath = "/Your/Report/Path"
$outputDirectory = "C:\Reports\Exports"
$reportFormat = "PDF" # Other formats can be "EXCEL", "WORD", etc.
$parameterName = "YourParameterName"
$parameterValues = @("Value1", "Value2", "Value3") # List of parameter values
# Loop through each parameter value
foreach ($paramValue in $parameterValues) {
# Construct the URL to render the report with the specific parameter
$url = "$reportServerUri?%2f$reportPath&rs:Format=$reportFormat&$parameterName=$paramValue"
# Specify the output file name
$outputFileName = "$outputDirectory\Report_$paramValue.pdf"
# Call the report server to render the report
$response = Invoke-RestMethod -Uri $url -Method Get -UseBasicParsing
# Save the report to the file system
[System.IO.File]::WriteAllBytes($outputFileName, $response)
Write-Host "Exported $paramValue to $outputFileName"
}
Write-Host "Export completed."
This is a simple PowerShell script that loops through different parameter values, renders the report and saves each view as a PDF. You need to have enough knowledge of PowerShell to implement it. In a sense, this is already programming.
hackcrr
If I have answered your question, please mark my reply as solution and kudos to this post, thank you!