私は約21列と74,000行のCSVファイルスプレッドシート(Excel xlsxから変換)を持っています。関心のある4つの列は、従業員の開始日、終了日、部門名、および担当者が担当する副社長と関係がある列です。PowerShellのCSV列の日付の比較
私は、開始日に達したすべての従業員を返し、終了せず、名前に「HR」を含む部門で作業し、特定のVPに報告するスクリプトを作成しようとしています。私はコードのブロックの後に私の特定の問題について詳しく説明します。
$Lawson = Import-Csv .\Documents\Lawson_HR.csv
$startDate = $Lawson | where [datetime]::ParseExact($_.'LAW HIRE DATE', 'dd-MM-yyyy', $null) -le (Get-Date)
$endDate = $startDate | where {$_.'LAW TERM DATE' -eq ''}
$HR = $endDate | where {$_.'LAW DEPT NAME' -match 'HR'}
$VP = $endDate | where {$_.'VICE PRESIDENT' -match 'Croner'}
まず、$startDate
変数は、私は今日の日付まで(CSV)から指定された日付を比較するために必要な構文が不明です、動作しません。
また、各行のDept Name
列に「HR」という文字が含まれているかどうか検索したいと思います(注:この例では、部門名は 'HR - キャリアサービス'または 'HR - 多様性'のようなものになる可能性があります。私は-match
オペレータがそれを行う方法ではないと感じるが、私は確信していない。
同様に、私は$VP
変数がVice President
列に与えられた名前(この場合はCroner)を持つすべての項目を返すようにしたいと思います。