我需要根据两个对象可能共享的ID对随机检索的对象进行分组。
这是我当前的脚本:
$allRows = Import-CSV C:\Temp\pk.csv
$chosenHouseholdIDs = ($allRows | Get-Random -Count $allRows.count).id
$chosenOnes = $allRows | Where-Object id -in $chosenHouseholdIDs
$i = 1
foreach ($chosenOne in $chosenOnes)
{
"$($i),$($chosenOne.name),$($chosenOne.id)"
$i = $i + 1
}
文件pk.csv包含130行。每行都有一个名称和一个householdID。 HouseholdID的目的是链接双胞胎。因此,如果一个双胞胎被随机牵拉,那么另一对双胞胎则需要下一个牵拉,或者需要将它们组合在一起。
使用Group-Object
cmdlet。像这样
$chosenOnes = $allRows | Where-Object id -in $chosenHouseholdIDs | Group-Object -Property householdID