Power Automate:如何从PBI返回数组中获取最大Distance值?
Power Automate 获取数组最大Distance值的正确表达式
问题根源
你当前使用的表达式max(outputs('GetPBIData')?[0]?['Distance (km)'])存在两个关键问题:outputs('GetPBIData')?[0]仅提取了数组的第一个元素,传给max的是单个数值而非所有Distance值的集合,因此无法计算最大值- 若
GetPBIData返回空数组,outputs('GetPBIData')?[0]会返回null,触发类型不匹配的报错
正确表达式方案
先通过select函数提取所有Distance (km)字段的值,再用max计算最大值:max(select(outputs('GetPBIData'), item()?['Distance (km)']))若需要处理空数组场景(避免数组为空时
max报错),可结合if和empty函数设置默认值:if(empty(outputs('GetPBIData')), 0, max(select(outputs('GetPBIData'), item()?['Distance (km)'])))上述示例中空数组时返回0,你可根据实际需求替换为其他默认值(如null)
效果验证
针对你提供的PBI返回数据,第一个表达式会先提取出[13.64878414881468, 20.659444721556447, 8.097056529573832],再通过max返回20.659444721556447,符合预期。
内容的提问来源于stack exchange,提问作者Matthew Stott
相关产品推荐
相关产品推荐

