У меня есть массив со следующими данными. Мне нужно выяснить, как объединить данные и сообщить о них на основе JobName. Если задание имеет статус «только успешное», оно будет иметь в общей сложности 33, если оно имеет три состояния, ему необходимо сосчитать все имена заданий вместе.
JobName Status Count
Job #1 Success 33
Job #2 Failed 9
Job #2 Success 32
Job #2 Warning 5
Вот часть кода, который я пробовал.
$arrAllTasksBk = $taskListBk | Sort JobName | Select @{Name="JobName"; Expression = {$_.jobname}}, Status
$arrAllTasksBk = $arrAllTasksBk | Group-object 'JobName', status |
Select-Object @{n='JobName';e={$_.Group[0].'JobName'}}, @{n='Status';e={$_.Group[0].Status}}, Count
$arrAllTasksBk = $arrAllTasksBk | Sort JobName | Select
@{Name="JobName"; Expression = {$_.jobname}},
@{Name="Total"; Expression = {$_.Count | Where {($_.status -match "Success") -or ($_.status -match "Warning")-or ($_.status -match "Failed")}}},
@{Name="Failed"; Expression = {$_.Count | Where {$_.status -match"Failed"}}},
@{Name="SuccessRate"; Expression = {$_.Count | Where {($_.status -match "Success") -or ($_.status -match "Warning")-or ($_.status -match "Failed")} / {$_.status -match "Success" }}}