可完全自动化生成pdf周报:在airtable建三张关联表收集数据,用ai字段压缩关键问题,扣子工作流拉取清洗数据、按进度规则打分并输出结构化结果。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要每周汇总市场、销售、产品三个部门提交的项目进展数据,手动核对字段、合并表格、计算完成率、按规则打分,再生成带格式的PDF周报——这个过程现在可以完全自动化,无需打开Excel或复制粘贴。
在Airtable中搭建跨部门数据收集表
新建一个Base,命名为“跨部门项目周报”,创建三张关联表:“市场部提交”“销售部提交”“产品部提交”。每张表必须包含字段:项目名称(单行文本)、负责人(人员)、起止日期(日期)、当前进度(数字0–100)、关键问题(长文本)、附件(附件字段)。
在“市场部提交”表中,添加一个AI字段,类型选“AI → 生成文本”,提示词设为:“用一句话总结以下关键问题,不超过30字,不加标点:{关键问题}”。这一步让AI自动压缩冗长描述,避免周报正文堆砌废话。
为每张子表设置视图:筛选出“本周提交”(用公式字段判断日期是否在[周一,周日]区间),并开启“只读链接”供部门成员填写。注意:【所有表必须启用“记录ID”字段,后续扣子工作流靠它做唯一标识】。
用扣子工作流拉取并清洗Airtable数据
登录扣子(Coze),新建Bot → 点击“工作流” → 添加节点:开始 → Airtable插件节点 → Python代码节点 → 结束。
Airtable插件节点配置:选择你的Base和三张子表,勾选“获取全部记录”,授权后点击测试连接。如果提示“未找到表”,说明Base ID或表名拼写错误,需回到Airtable复制精确的表ID(不是表名)重新粘贴。
Python代码节点中,粘贴以下逻辑(已适配多部门字段差异):
import pandas as pd<br>def main(params):<br> # 合并三张表数据<br> df_market = pd.DataFrame(params.get("market", []))<br> df_sales = pd.DataFrame(params.get("sales", []))<br> df_product = pd.DataFrame(params.get("product", []))<br> df_market["部门"] = "市场部"<br> df_sales["部门"] = "销售部"<br> df_product["部门"] = "产品部"<br> df_all = pd.concat([df_market, df_sales, df_product], ignore_index=True)<br> # 清洗:删除空进度、统一日期格式、补全缺失字段<br> df_all = df_all.dropna(subset=["当前进度"])<br> df_all["当前进度"] = df_all["当前进度"].astype(int)<br> df_all["周报日期"] = "2026-07-03"<br> return df_all.to_dict(orient="records")
按规则自动打分并生成结构化结果
在Python代码节点后,新增一个“代码节点”(不要复用前一个),执行打分逻辑:
第一步:定义打分规则字典,例如:
{'进度≥90': 5, '进度80–89': 4, '进度70–79': 3, '进度60–69': 2, '进度
第二步:对每条记录计算得分:
df['基础分'] = df['当前进度'].apply(lambda x: 5 if x >= 90 else 4 if x >= 80 else 3 if x >= 70 else 2 if x >= 60 else 1)
df['风险扣分'] = df['关键问题'].str.len().apply(lambda l: -1 if l > 200 else 0)
df['最终得分'] = df['基础分'] + df['风险扣分']
第三步:按部门分组统计平均分、超期项目数、附件提交率:
result = df.groupby('部门').agg(
平均得分=('最终得分', 'mean'),
超期项目数=('起止日期', lambda x: sum((pd.to_datetime(x) 附件提交率=('附件', lambda x: round(sum(x.str.len() > 0) / len(x) * 100, 1))
).reset_index()
第四步:将结果转为JSON返回,供后续节点使用。
输出PDF周报并自动归档
在打分节点后接“PDF生成”插件节点,模板选择“自定义HTML模板”,填入以下结构(支持中文、自动换行、部门分栏):
<h1>2026年第27周跨部门项目周报</h1>
<table>
<tr>
<th>部门</th>
<th>平均得分</th>
<th>超期项目数</th>
<th>附件提交率</th>
</tr>{% for r in data %}<tr>
<td>{{r.部门}}</td>
<td>{{r.平均得分|round(1)}}</td>
<td>{{r.超期项目数}}</td>
<td>{{r.附件提交率}}%</td>
</tr>{% endfor %}</table>
配置完成后,点击“测试运行”,上传任意一份测试数据,确认PDF能正确渲染。成功后,添加最后一个节点:“Airtable更新记录”,把本次生成的PDF文件URL写回主表的“本周报告”字段,实现闭环归档。










