簡體   English   中英

Powershell - Group-Object 展開並再次分組

[英]Powershell - Group-Object Expand and Group again

我有一個.csv 文件,我將其分組在兩個屬性“DN”、“SKU”上,然后對另一個屬性“DeliQty”進行求和,這可以正常工作,並且總和會反映回組。 但是,然后我需要僅在“DN”上重新分組並寫出單獨的文件。 我已經嘗試過 Select-Object -Expand Group 但這會恢復為原始內容而沒有總和。

有沒有辦法取消分組保留總和然后再次分組?

$CSVFiles = Get-ChildItem -Path C:\Scripts\INVENTORY\ASN\IMPORT\ -Filter *.csv

foreach ($csv in $CSVFiles) {
    $group = Import-Csv $csv.FullName | Group-Object DN, SKU
    $group | Where Count -gt 1 | ForEach-Object {
    $_.Group[0].'DeliQty' = ($_.Group | Measure-Object DeliQty -Sum).Sum 
    } 
    }

您可以執行以下操作:

$CSVFiles = Get-ChildItem -Path C:\Scripts\INVENTORY\ASN\IMPORT\ -Filter *.csv

foreach ($csv in $CSVFiles) {
    $group = Import-Csv $csv.FullName | Group-Object DN, SKU | Foreach-Object {
        if ($_.Count -gt 1) {
            $_.Group[0].DeliQty = ($_.Group | Measure-Object DeliQty -Sum).Sum
        }
        $_.Group[0]
    } 
    # outputs summed and single group objects
    $group
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM