Powershell 将CSV文件数据分组以创建报告

Powershell 将CSV文件数据分组以创建报告,powershell,object,report,Powershell,Object,Report,我有一个包含以下字段的CSV文件: 如何创建包含以下字段的报告 $lookupDatafiltered = Import-Csv -Path .\lookups_shutdown.csv $lookupDatafiltered | Group-Object Region, Country, Status | Select-Object @{n='Region';e={$_.Group[0].Region}}, @{n='Country';e={$_.Group[0].Country}},@

我有一个包含以下字段的CSV文件:

如何创建包含以下字段的报告

$lookupDatafiltered = Import-Csv -Path .\lookups_shutdown.csv

$lookupDatafiltered | Group-Object Region, Country, Status | Select-Object @{n='Region';e={$_.Group[0].Region}}, @{n='Country';e={$_.Group[0].Country}},@{n='Status';e={$_.Group[0].Status}}, Count | Sort-Object -Property Region , Country | export-csv -Path "C:\change\Country.csv" -NoTypeInformation

如何使用给定的代码片段作为辅助结果,将状态计数也获取到每个国家/地区导出的csv中:

$lookupDatafiltered = Import-Csv -Path .\lookups_shutdown.csv
$lookupDataAux = $lookupDatafiltered | | Group-Object Region, Country, Status | 
    Select-Object @{n='Region' ;e={$_.Group[0].Region }}, 
                  @{n='Country';e={$_.Group[0].Country}},
                  @{n='Status' ;e={$_.Group[0].Status }}, 
                  Count | 
      Sort-Object -Property Region, Country, Status
$lookupDataAux  | Group-Object -Property Region,Country | 
    Select-Object @{n='Region' ;e={$_.Group[0].Region }}, 
                  @{n='Country';e={$_.Group[0].Country}},
                  @{n='up'     ;e={[int]($_.Group | ForEach-Object { if( $PSItem.Status -EQ 'up'   ) { $PSItem| Select-Object -ExpandProperty Count }})}},
                  @{n='down'   ;e={[int]($_.Group | ForEach-Object { if( $PSItem.Status -EQ 'down' ) { $PSItem| Select-Object -ExpandProperty Count }})}},
                  @{n='total'  ;e={($_.Group | Measure-Object -Property Count -Sum).Sum}}  |
        export-csv -Path "C:\change\Country.csv" -NoTypeInformation

请考虑将<代码>排序对象< /代码> CMDLET移到后面的管道…

< P>使用您的给定代码片段作为辅助结果:

$lookupDatafiltered = Import-Csv -Path .\lookups_shutdown.csv
$lookupDataAux = $lookupDatafiltered | | Group-Object Region, Country, Status | 
    Select-Object @{n='Region' ;e={$_.Group[0].Region }}, 
                  @{n='Country';e={$_.Group[0].Country}},
                  @{n='Status' ;e={$_.Group[0].Status }}, 
                  Count | 
      Sort-Object -Property Region, Country, Status
$lookupDataAux  | Group-Object -Property Region,Country | 
    Select-Object @{n='Region' ;e={$_.Group[0].Region }}, 
                  @{n='Country';e={$_.Group[0].Country}},
                  @{n='up'     ;e={[int]($_.Group | ForEach-Object { if( $PSItem.Status -EQ 'up'   ) { $PSItem| Select-Object -ExpandProperty Count }})}},
                  @{n='down'   ;e={[int]($_.Group | ForEach-Object { if( $PSItem.Status -EQ 'down' ) { $PSItem| Select-Object -ExpandProperty Count }})}},
                  @{n='total'  ;e={($_.Group | Measure-Object -Property Count -Sum).Sum}}  |
        export-csv -Path "C:\change\Country.csv" -NoTypeInformation

请考虑将<代码>排序对象< /代码> CMDLET移到后面的管道…

请阐明您的具体问题或添加附加细节以突出显示您需要的内容。正如目前所写的,很难准确地说出你在问什么。请参阅“如何询问”页面以获取帮助,澄清此问题:我已上载图像。请单击表1和报告2。。很抱歉输入错误,因为我是这个网站的新手。另外,我希望简单的组对象得到这个报告,而不是透视表。这看起来不像是编程问题(这使它脱离了主题)。可能是更合适的位置。我想从powershell生成以下报告。CSV值为attached@Enigma因此,这不是一项代码编写服务,请向我们提供您已经编写的代码,以便我们可以帮助调试。请澄清您的具体问题或添加其他详细信息,以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。请参阅“如何询问”页面以获取帮助,澄清此问题:我已上载图像。请单击表1和报告2。。很抱歉输入错误,因为我是这个网站的新手。另外,我希望简单的组对象得到这个报告,而不是透视表。这看起来不像是编程问题(这使它脱离了主题)。可能是更合适的位置。我想从powershell生成以下报告。CSV值为attached@Enigma所以这不是一个代码编写服务,请向我们提供您已经编写的代码,以便我们可以帮助调试。谢谢Josef。。非常感谢。非常感谢。@Enigma请不要简单地评论给出的答案对你有用,而是单击✓ 在左边。这将帮助其他有类似问题的人更容易找到它。谢谢西奥。我已经这样做了,我已经接受了答案。谢谢约瑟夫。。非常感谢。非常感谢。@Enigma请不要简单地评论给出的答案对你有用,而是单击✓ 在左边。这将帮助其他有类似问题的人更容易找到它。谢谢西奥。我已经这样做了,我已经接受了答案。