我该如何解决这个问题:
这个组中有2个对象, 一个名字在'Move-In(Name)'下包含一个名字,一个不包含:
$rest.Group | select * | Where-Object {$_.SERV_UNIT -eq '2704'}
Account_no : 12345
SERV_UNIT : 2704
FINALREAD :
Move-In (Name) : OWNER / CURRENT TENANT
Move-In (Home Phone #) :
Move-In (Business Phone #) :
Move-In (Email) :
Account_no : 12345
SERV_UNIT : 2704
FINALREAD :
CHANNEL_ID :
Move-In (Name) :
Move-In (Home Phone #) :
Move-In (Business Phone #) :
Move-In (Email) :
我想只选择名字中有移动的那个。
但是,根据我编写的代码,因为它们属于同一组,我不会选择:
$rest = $allinfo | Group-Object account_no | Where-Object { $_.Group.FINALREAD -contains '' -and $_.Group.'Move-In (Name)' -notcontains ''} | Select * -Unique
$ rest现在等于什么。我希望它有一个结果,第一个以'所有者'作为移入名称。
为了得到正确的结果,我必须这样做:
$rest = $allinfo | Group-Object account_no | Where-Object { $_.Group.FINALREAD -contains ''} | Select * -Unique
$newRest = @()
foreach ($row in $rest.group) {
if ($row.'Move-In (Name)' -notcontains '')
{
$newRest += $row
}
}
是否有可能在这一行内完成所有这一切?
$rest = $allinfo | Group-Object account_no | Where-Object { $_.Group.FINALREAD -contains '' -and $_.Group.'Move-In (Name)' -notcontains ''} | Select * -Unique
如果没有,没关系,我有答案。
感谢您的帮助
答案 0 :(得分:0)
也许您可以首先删除不需要的记录(空Move-In
),然后按帐户分组,并列出包含一个或多个空白FINALREAD
的帐户组 - 值
$rest = $allinfo | Where-Object { $_.Group.'Move-In (Name)' } | Group-Object account_no | Where-Object { $_.Group.FINALREAD -contains '' }