问题
昨天在 Notion 课程评论区 收到了一条提问,非常有趣,问题是「能不能对 Rollup 的结果进行分组(Group)?」这个问题是在实践 PARA 方法论时所产生的,其背景如下:
-
Task 数据库关联了 Project 数据库
-
Project 数据库关联了 Area 数据库
-
Area 数据库中有若干个领域,如领域 A、领域 B、领域 C
-
这些领域被一个 Select 字段分类为工作、学习、生活三个大类
现在的问题是,当修改 Area 中的具体标签,例如为「领域 A」分配了 工作
标签之后,领域所关联的项目,和项目所关联的任务,能否也自动化分配 工作
标签?如果可以的话,就可以实现在三个数据库内,共用同一套分类标准(Group),如下图所示:
答案是可以的,但我们无法直接对 Rollup 的结果进行分组,而是需要将 Rollup 与 Formula 结合在一起使用。
解法
-
在 Project 数据库中添加一个 Formula 字段,然后用 map 函数查询 Project 所关联的 Area 的 Select 字段的值,又因为 map 返回的是数组格式(List),同样无法直接分组,所以需要再加一个 format 函数,将数组转化为纯文本格式:
如此一来,Group 就可以直接对 Formula 输出的纯文本进行分组:
-
在 Task 数据库中,对 Project 进行 Rollup,查询的是 Project 所关联的 Area
然后继续添加 Formula 字段,用 map 函数查询 Rollup 字段所查询到的 Area,并用 format 函数将查询到的标签转化为纯文本格式
现在同样可以对 Formula 进行分组:
-
现在,当你修改 Area 中的 Select 值,其关联的 Task 和 Project 也将自动修改和分组
参考文章
-
Rollup 详细解析文章:https://sspai.com/post/82013
-
Formula 与 map 函数解析
-
Formula 入门 01:https://sspai.com/post/82140
-
Formula 入门 02:https://sspai.com/post/82461
-
Formula 入门 03:https://sspai.com/post/82607
-
map 函数解析:https://sspai.com/post/84245
-