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

使用Power Automate自动统计Microsoft Planner Bucket数量

解决Power Automate统计Planner Bucket数量时length()函数执行失败的问题

问题根源

从你贴出的List Buckets返回JSON能清楚看到,所有Bucket的实际数据都嵌套在body的value数组里。你现在用的length(body('List_Buckets'))是在试图计算整个响应对象的长度——但这是个JSON对象,不是数组,自然会触发类型错误导致步骤失败。

快速修复Compose代码

把你的Compose步骤里的代码替换成下面这个,就能正确统计Bucket总数了:

length(body('List_Buckets')?['value'])
  • body('List_Buckets')?['value']:精准定位到存储Bucket列表的数组,?是可选链操作符,能避免万一value字段不存在时抛出额外错误。
  • length():现在作用在数组上,就能准确返回Bucket的数量了。

实现你的核心需求:按任务状态统计Bucket数量

你提到要统计处于未开始、进行中、逾期、已完成状态的Bucket数量,这里要注意:Planner的Bucket本身没有状态属性,状态是属于Bucket内的任务的。所以要实现这个需求,你需要调整流的逻辑:

  1. 先用List Buckets获取所有Bucket列表
  2. 添加Apply to each循环,遍历每个Bucket
  3. 在循环内用List tasks in bucket获取当前Bucket下的所有任务
  4. 用Filter array分别筛选对应状态的任务(状态标识符参考:未开始%23notStarted、进行中%23inProgress、逾期%23late、已完成%23completed)
  5. 添加Condition判断:如果筛选后的任务数组长度大于0,说明这个Bucket包含对应状态的任务,就给对应的计数变量加1
  6. 循环结束后,各变量的值就是对应状态的Bucket数量

另外,如果你要把原有的“剩余任务”替换为“剩余Bucket”,只需要把原来统计任务的逻辑替换成上述统计Bucket的逻辑即可。

内容的提问来源于stack exchange,提问作者Philip Chow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:10:28