这个问题来自 Notion 系统课程读者的提问,经整理后分享于此。如果你在使用 Notion 的过程中遇到了类似问题,欢迎留言交流。
读者提问
想请教下,我使用 rollup 对书库的书籍进行一些数据统计时,我发现字段只能选 status 时,rollup 才可以对不同状态进行 calculate-count per group,select 则不行。
但是这里有个问题,比如我的书籍状态有的是暂停和弃读,这俩个状态准确来说我不想归入到 status 固定的 3 个状态里(to-do、in progress、complete)。
请问有什么别的法子可以让 rollup 对 select 下的不同选项也进行 calculate-count per group 吗?
我的回答
首先,要想出现 count per group 这个选项的前提,是要有 Group,而 Select 意味着每个选项都是互相独立的,不成组的,所以自然不会出现这个选项。
而 Status 本就是三种元状态的合集,有关于 Status(状态)这个字段的详细解读可以参考课程的 2.7 篇。

所以最佳的解决方案就是弃用 Rollup,用更自由、更强大的函数来解决这个问题。
lets(
all,prop("读书").map(current.prop("名称")).length(),
done,prop("读书").filter(current.prop("单选")=="已读完").length(),
((done/all)*100).round()+"%"
)解读一下上面的这个函数:
- 定义变量 all:
读书.map(current.名称).length()统计"读书"数据库中所有条目的数量 - 定义变量 done:
读书.filter(current.单选=="已读完").length()筛选出"单选"属性为"已读完"的条目数量 - 计算百分比:
((done/all)*100).round()+"%"将已读完的数量除以总数,乘以100,四舍五入后加上百分号符号
掌握上面这个函数,就可以计算出任意 Select 选项的百分比了。
📘 FLO.W 思流 — Notion 个人管理系统
FLO.W 是一套基于 Notion 搭建的个人管理模板,整合了任务、笔记、项目、习惯等模块,并配有完整的图文视频教程。


