2016-09-18 16 views
0

私は、次の列をCSVファイルていますカウントとグループ

  • ERROR_ID
  • HH(2桁で時間)
  • エラーの説明

このようになります:

PowerShellで

SELECT X,Y,Count(1) 
FROM #Table 
GROUP BY X,Y 

そのもう少し違う:

10は、SQLでそれは非常に簡単でした。

答えて

1

Group-Objectコマンドレットでは、複数のプロパティによってグループ化することができます:あなたはこのような結果得られます

Import-Csv 'C:\path\to\your.csv' | Group-Object ErrorID, Date 

:SQLクエリのような表形式でグループ化された値を表示するために、しかし

Count Name   Group 
----- ----   ----- 
    3 1, 15/07/2016 {@{ErrorID=1; Date=15/07/2016; Hour=16}, @{ErrorID=1; Da... 
    1 2, 16/07/2016 {@{ErrorID=2; Date=16/07/2016; Hour=9}}

を希望あなたはcalculated propertiesのグループからそれらを抽出する必要がありますか:

Import-Csv 'C:\path\to\your.csv' | Group-Object ErrorID, Date | 
    Select-Object @{n='ErrorID';e={$_.Group[0].ErrorID}}, 
        @{n='Date';e={$_.Group[0].Date}}, Count 

これは次のような出力を生成します:

ErrorID Date  Count 
------- ----  ----- 
1  15/07/2016  3 
2  16/07/2016  1
0

次を使用することができます。

$csv = import-csv path/to/csv.csv 
$csv | group-object errorid 
Count Name      Group                                             
----- ----      -----                                             
    2 1       {@{errorID=1; time=15/7/2016; description=bad}, @{errorID=1; time=15/8/2016; description=wow}}                      
    1 3       {@{errorID=3; time=15/7/2016; description=worse}}                                  
    1 5       {@{errorID=5; time=15/8/2016; description=the worst}}       

$csv | where {$_.errorid -eq "2"} 
errorID                 time                 description               
-------                 ----                 -----------               
1                  15/7/2016                bad                 
1                  15/8/2016                wow  

あなたはパイプは、第1および第2の例望ましい結果を得るためにすることができます。

+0

ありがとうございます。それはまさに私が探しているものです。あなたの助けを請う。 –

関連する問題