gpt4 book ai didi

azure - 如何处理KQL查询中的空结果?

转载 作者:行者123 更新时间:2023-12-03 06:34:53 30 4
gpt4 key购买 nike

尝试在 Azure 订阅中编写 KQL 查询计数资源。我遇到了没有资源的潜艇问题,因为没有任何返回。所以我想将[左]所有订阅与[右]所有资源合并:

$queryAllOuter = "resourceContainers 
| where type =~ 'microsoft.resources/subscriptions'
| project subscriptionId, subName=name
| join kind=leftouter resources on subscriptionId
| summarize nrOfResources=count() by subscriptionId,subName
| sort by nrOfResources asc"

问题是空的子进程被总结为拥有 1 个资源。当我在汇总之前检查记录时,这样的空记录看起来像这样:

订阅 ID:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx子名称:Visual Studio Professional 订阅订阅ID1:姓名 :ID :类型 :租户ID:种类 :地点 :资源组:管理者:货号:计划 :特性 :标签:身份 :区域:扩展位置:资源ID:

如何在 null 返回时产生一些输出?

尝试了使用 iff、isnull、extend 的不同组合 - 但恕我直言,这是更深层次的问题......不知道如何处理它

最佳答案

我首选的方式是先计数,然后加入。

resourceContainers 
| where type =~ 'microsoft.resources/subscriptions'
| project subscriptionId, subName=name
| join kind=leftouter
(
resources
| summarize nrOfResources = count() by subscriptionId
) on subscriptionId
| extend nrOfResources = coalesce(nrOfResources, 0)
| sort by nrOfResources asc

您还可以加入并统计右侧 subscriptionId 不为空的行。

resourceContainers 
| where type =~ 'microsoft.resources/subscriptions'
| project subscriptionId, subName=name
| join kind=leftouter resources on subscriptionId
| summarize nrOfResources=countif(isnotempty(subscriptionId1)) by subscriptionId,subName
| sort by nrOfResources asc

关于azure - 如何处理KQL查询中的空结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74962594/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com