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

如何在n8n Filter节点后统计各输入连接的留存条目数

解决n8n多输入Filter节点的来源跟踪与自动汇总问题

步骤1:给每个输入条目添加来源标识

在每个接入Filter节点的上游节点之后,新增一个Set节点(或Code节点),给当前输入的所有条目打上来源标签:

  • 对应Filter的Input 0,用Set节点添加字段source,值设为Input 0
  • 对应Filter的Input 1,Set节点将source值设为Input 1,以此类推

如果用Code节点实现,可运行以下代码(按需修改source值):

return items.map(item => {
  item.json.source = "Input 0";
  return item;
});

步骤2:用Filter节点处理带标识的条目

正常配置Filter节点的过滤规则即可,此时所有通过过滤的条目都会保留source字段,明确标记自身来源的输入连接。

步骤3:自动统计生成指定格式的汇总

添加一个Code节点,用以下代码统计各来源的留存数并生成汇总:

// 统计各来源条目数
const countMap = {};
let total = 0;

items.forEach(item => {
  const source = item.json.source;
  countMap[source] = (countMap[source] || 0) + 1;
  total++;
});

// 生成目标格式的汇总文本
const summaryLines = Object.entries(countMap).map(([source, count]) => `${source}: ${count} items kept`);
summaryLines.push(`Total: ${total} items`);
const summaryText = summaryLines.join('\n');

// 输出汇总结果
return [{
  json: {
    summary: summaryText
  }
}];

运行后,该Code节点的输出会直接生成你需要的汇总内容,无需手动切换输入查看。

替代方案:批量拆分+合并流

若不想给单个条目打标记,也可将每个输入分别接入Split In Batches节点(批量大小设为原输入的总条目数),在每个Split节点后用Set节点标记来源,再合并所有流到Filter节点处理,后续统计逻辑与步骤3一致。


内容的提问来源于stack exchange,提问作者Ohad Cohen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 01:27:03