You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Automate中判断KQL查询是否无返回行

解决Power Automate中判断KQL查询是否无返回行的问题

问题根源

你用的Run KQL Query操作返回的是HTML表格格式结果,不是原始JSON数据集,所以之前的判断逻辑都踩了坑:

  • body('cmdletsForEmail')?['value']一直返回False,是因为这个操作的输出结构里根本没有value字段
  • empty(outputs('cmdletsForEmail')?['body/body'])一直为True,是因为这里的body是操作的包装结构,不是查询的实际结果数据

两种可行的判断方法

方法1:解析HTML表格判断(适合当前HTML输出场景)

KQL返回的空HTML表格只有表头,没有数据行。你可以通过检查bodyHtml里是否存在数据行标签来判断:

not(contains(body('cmdletsForEmail')?['bodyHtml'], '<tr><td>'))

原理:有数据时,HTML里会出现<tr><td>开头的行;空结果只有表头的<tr><th>,所以这个表达式能准确识别是否无返回行。

方法2:切换返回格式为JSON(更可靠)

如果你的操作支持调整返回格式(部分环境可在Run KQL Query的设置里修改),改成返回JSON数据集,之后用这个表达式判断:

empty(body('cmdletsForEmail')?['value'])

这种方式不用解析HTML,逻辑更直接,不容易出错。

避坑提醒

  • 用HTML判断时,注意查看实际返回的bodyHtml内容,如果<tr><td>不匹配,换成你环境里实际的数据行标识
  • 别直接用length处理HTML字符串,空格、换行都会干扰判断结果

内容的提问来源于stack exchange,提问作者Adam S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:07:14