Power Automate查询Power BI数据集时length函数报错排查求助
解决Power Automate中用length判断Power BI查询输出长度的报错问题
问题根源:你之前用的
body/value或直接取body都没命中Power BI查询返回的结果数组节点。Power BI查询的输出结构里,实际存放结果行的数组不在value路径下,而是嵌套在results -> tables[0] -> rows层级中,之前的表达式取到的是Object类型,自然触发length函数的类型错误。解决步骤:
- 先运行一次流,查看「Run a query against a Dataset」的输出详情,确认结果数组的具体路径(通常就是
body/results/tables/0/rows)。 - 将条件里的表达式替换为:
length(outputs('Run_a_query_against_a_dataset')?['body/results/tables/0/rows']) - 若担心路径不存在导致报错,可加空值兜底,改成:
这样就算路径取不到值,会默认用空数组,length结果为0,不会触发报错。length(outputs('Run_a_query_against_a_dataset')?['body/results/tables/0/rows']?[])
- 先运行一次流,查看「Run a query against a Dataset」的输出详情,确认结果数组的具体路径(通常就是
验证逻辑:当查询返回结果时,
rows数组长度大于0,条件成立则发送邮件;无结果时长度为0,跳过邮件发送。
内容的提问来源于stack exchange,提问作者Mark Tait
相关产品推荐
相关产品推荐

