The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.
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!
User | Count |
---|---|
3 | |
2 | |
2 | |
2 | |
2 |
User | Count |
---|---|
4 | |
3 | |
2 | |
2 | |
2 |