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.
Hi,
I need to get the list of Power BI reports for which the refresh was failed.
I could get the status of all refreshed reports with Successful, Failed and disabled status using the below script.
I need to filter only 'Failed' reports. Is that possible?
Thank you!
Connect-PowerBIServiceAccount $Workspaces = Get-PowerBIWorkspace foreach($workspace in $Workspaces) { $DataSets = Get-PowerBIDataset -WorkspaceId $workspace.Id | where {$_.isRefreshable -eq $true} foreach($dataset in $DataSets) { $URI = "groups/" + $workspace.id + "/datasets/" + $dataset.id + "/refreshes" #$OutFile = $ExportFolder + '\' + $workspace.Name + '-' + $dataset.Name + '.json' $Results = Invoke-PowerBIRestMethod -Url $URI -Method Get | ConvertFrom-Json foreach($result in $Results.value) { $errorDetails = $result.serviceExceptionJson | ConvertFrom-Json -ErrorAction SilentlyContinue $row = New-Object psobject $row | Add-Member -Name "Workspace" -Value $workspace.Name -MemberType NoteProperty $row | Add-Member -Name "Dataset" -Value $dataset.Name -MemberType NoteProperty $row | Add-Member -Name "refreshType" -Value $result.refreshType -MemberType NoteProperty $row | Add-Member -Name "startTime" -Value $result.startTime -MemberType NoteProperty $row | Add-Member -Name "endTime" -Value $result.endTime -MemberType NoteProperty $row | Add-Member -Name "status" -Value $result.status -MemberType NoteProperty $row | Add-Member -Name "errorCode" -Value $errorDetails.errorCode -MemberType NoteProperty $row | Add-Member -Name "errorDescription" -Value $errorDetails.errorDescription -MemberType NoteProperty Write-Host $row }}}
Thank you,
Poonam
Solved! Go to Solution.
Hi @patilpoonam21 ,
Based on the description, try to modify the foreach result script to the following script.
foreach($result in $Results.value)
{
if($result.status -eq "Failed")
{
$errorDetails = $result.serviceExceptionJson | ConvertFrom-Json -ErrorAction SilentlyContinue
$row = New-Object psobject
Best Regards,
Wisdom Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous ,
Thank you so much!
Thanks,
Poonam
Hi @patilpoonam21 ,
Based on the description, try to modify the foreach result script to the following script.
foreach($result in $Results.value)
{
if($result.status -eq "Failed")
{
$errorDetails = $result.serviceExceptionJson | ConvertFrom-Json -ErrorAction SilentlyContinue
$row = New-Object psobject
Best Regards,
Wisdom Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
User | Count |
---|---|
65 | |
61 | |
60 | |
53 | |
27 |
User | Count |
---|---|
181 | |
88 | |
70 | |
48 | |
46 |