У меня есть другое решение для командной строки.
Учитывая, что $ report
$groupreport = $report | Group-Object -Property item -AsHashTable
равно
Name Value
---- -----
grape {@{Item=grape; Average=9.91335740072202}, @{Item=grape; Average=0}}
orange {@{Item=orange; Average=0.294117647058824}, @{Item=orange; Average=-0.901960784313726...
apple {@{Item=apple; Average=12.1261261261261}, @{Item=apple; Average=-0.0045045045045045}}
pear {@{Item=pear; Average=3.48736462093863}, @{Item=pear; Average=-0.0324909747292419}, @...
тогда
$tab=@{}
$groupreport.keys | % {$tab += @{$_ = ($groupreport[$_] | measure-object -Property average -sum)}}
дает
PS> $tab["grape"]
Count : 2
Average :
Sum : 9,91335740072202
Maximum :
Minimum :
Property : Average
PS> $tab["grape"].sum
9,91335740072202
Кажется коротким и пригодным для использования.
Резюме
$groupreport = $report | Group-Object -Property item -AsHashTable
$tab = @{}
$groupreport.keys | % {$tab += @{$_ = ($groupreport[$_] | measure-object -Property average -sum)}}
$tab.keys | % {write-host $_ `t $tab[$_].sum}