Я пытаюсь импортировать данные из электронной таблицы Excel в скрипт Powershell и суммировать значения одного столбца при сортировке результатов на основе значения другого столбца.Пример ниже, вероятно, иллюстрирует это лучше, чем я, на словах.
Конечная цель - сложить значения в столбце SUBMIT для каждого агента и затем экспортировать эти данные в отдельную электронную таблицу, но я не могувыяснить первый шаг сложения значений и группировки их с помощью агента.
foreach ($data in (Import-Excel "C:\prod\actstest.xlsx")) {
$result += $data.Submit
}
Write-Host $result
Когда я запускаю приведенный выше блок кода, он успешно складывает значения в столбце «Отправить», но не сортируетэто основано на агенте.Когда я запускаю приведенный ниже код, он успешно сортирует их по агенту, но не добавляет их.Должен быть способ объединить их вместе, но мне не удалось выяснить это до этого момента.
$testdata = Import-Excel "C:\prod\actstest.xlsx"
ForEach ($Agency in $testdata) {
$AgentID = $Agency.AGENT
$Product = $Agency.EPROD
$Submit = $Agency.SUBMIT
[int]$SubNum = [convert]::ToInt32($Submit, 10)
ForEach($AgentID in $Agency) {
If ($Product -eq "HOP") {
$Agency | Group-Object AGENT | %{
New-Object psobject -Property @{
Agent = $_.Name
Sum = ($_.Group | Measure-Object -property SUBMIT -Sum).Sum
}
}
}
}
}
Вот что я получаю:
Sum Agent
--- -----
2 05007
1 05008
1 05008
1 05008
1 05008
1 05008
1 05008
1 05008
1 05008
1 05008
1 05008
1 05008
1 05008
1 05008
1 05018
1 05018
1 05018
1 05018
1 05018
Этовот что я пытаюсь получить:
Sum Agent
--- -----
2 05007
13 05008
5 05018