无法在Power shell中显示数据视图结果。

我是一个新的azure数据资源管理器和Kusto查询。我正在从以下在线示例中学习

https:/dataexplorer.azure.comclustershelpdatabasesSamples。

以下是我在数据资源管理器中得到结果但无法在Power shell中显示的查询。

   StormEvents
   | where DamageProperty >0
   | limit 2
   | project StormSummary.TotalDamages

以下是我试图在Powershell中运行查询的代码的参考链接(下面链接页面中的示例2)

https:/docs.microsoft.comen-usazuredata-explorerkustoapipowershellpowershell。

我只修改了”$Query”,并修改了最后一行代码,如下所示。

 $dataView | Format-Table -AutoSize 

我得到的输出是

  StormSummary_TotalDamages
  -------------------------
 {}  

我试着修改查询,在 “StormSummary.TotalDamages “中没有 “TotalDamages”,但结果数据视图,我无法再次获得 “TotalDamages”。

 StormSummary                               
  ------------                               
 {TotalDamages, StartTime, EndTime, Details}

解决方案:

有人帮我解决了我的问题。我把它贴出来以帮助其他人。

解释。查询结果导入到Json字符串,转换它从json和转换列&行数据布局回到单个PSObjects真的帮助我的问题。

编码。根据我的问题中提到的例子2,我们调用了

 $reader = $queryProvider.ExecuteQuery($query, $crp)

在这之后,我删除了现有的代码,并做了如下修改。

修改后的代码可以得到预测场数据(TotalDamages):

 $json = [Kusto.Cloud.Platform.Data.ExtendedDataReader]::ToJsonString($reader)
 $data = $json | ConvertFrom-Json

 $columns = @{}
 $count = 0
 foreach ($column in $data.Tables[0].Columns) {
   $columns[$column.ColumnName] = $count
    $count++
 }
$items = foreach ($row in $data.Tables[0].Rows) {
$hash = @{}
foreach ($property in $columns.Keys){
    $hash[$property] = $row[$columns[$property]]
}
[PSCustomObject]$hash
}
foreach($item in $items)
{
   Write-Host "TotalDamages: "$item.StormSummary.TotalDamages
 }

输出:

  TotalDamages:  6200000
  TotalDamages:  2000

给TA打赏
共{{data.count}}人
人已打赏
解决方案

Apps Script

2022-4-20 21:00:15

解决方案

为什么我可以使用数组破坏性赋值给一个引用,而不是对象破坏性赋值?[重复]

2022-4-20 22:00:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索