将数据转置或输出到基于行的表

时间:2017-07-25 15:46:37

标签: database powershell datatable transpose

我无法弄清楚如何在PowerShell中输出基于行的数据表。我能够做标准的基于柱状的数据表,但不是相反。

我目前的输出如下:

            Books  Cables  Pens 
   Client1      1       0     0
   Client2      2       4     6
   Client3      1       3    10

书籍,电缆和笔是不变的,我有新的客户要添加。

我需要能够输出一个表格,我可以通过过滤客户端和项目来缩小范围

我需要看起来像这样:

          Client1   Client2   Client3
 Books          1         2         1
 Cables         0         4         3
 Pens           0         6        10

我目前使用键/值对来填充来自单独对象的数据:

$ctable = foreach ($client in $clientstuff) {
    [PSCustomObject] @{
        Client = $client.name
        Books  = $client.books.Count
       Cables = $client.cables.Count
       Pens   = $client.pens.Count
    }
 }

 $ctable= $ctable | Format-table

需要格式化为表格,否则它将作为列表出现 我有100多个客户和40多个不同的项目,所以我不能完全硬编码。

我想我可以使用System.Data.Datatable,但如果是这样,我不知道如何。

我已经查看了提供的解决方案  Export hashtable to CSV with the key as the column heading

但我似乎无法使其发挥作用,即使答案没有标记为回答问题中的问题。无论我如何适应它,它只会让我犯错误。此解决方案不符合我可以由项目和客户端过滤的要求,它只是将其转换为具有多列的编号列表。

我还查看了许多其他链接,但是这些链接总是更像列表而不是可解析表,可以通过RowName(item)和ColumnName(client)进行过滤

最好我想要一种方法一般输出到基于行的表格,但如果不是这样也可以很好地输入

0 个答案:

没有答案