我有一组设备数据,具有不同的计数。设备名称和类型将始终与彼此重复,但计数会有所不同。从多个SQL查询中提取数据,然后将其放入PSObject
结果数据如下所示:
我需要的是对各个计数列进行求和,对于上面的示例,给出以下输出:
执行Sort-Object -Property Name -Unique
之类的操作无法对计数行求和,并删除unique
参数,我无法弄清楚如何处理Group-Object
我认为我需要分开行并对它们求和。结果组只是相同数据的一大部分,因为设备有超过20个计数(Count1,Count2 ...... Count19,Count20 ......)
任何帮助指出我在这里的正确轨道将不胜感激。
答案 0 :(得分:1)
$SQL = ConvertFrom-CSV @"
Name,Type,Count1,Count2,Count3
Device1,Type1,0,12,0
Device1,Type1,0,5,0
Device1,Type1,1,0,0
Device1,Type1,0,0,3
Device2,Type2,5,0,0
Device2,Type2,1,0,0
Device3,Type2,0,5,0
Device3,Type2,0,1,1
Device3,Type2,1,1,2
"@
$SQL | Group-Object Name | ForEach {
New-Object PSObject -Property @{
Name = $_.Name
Type = $_.Group[0].Type
Count1 = ($_.Group | Measure-Object -Property Count1 -Sum).Sum
Count2 = ($_.Group | Measure-Object -Property Count2 -Sum).Sum
Count3 = ($_.Group | Measure-Object -Property Count3 -Sum).Sum
}
} | Format-Table