简介
在 Notion 数据库中,你可以添加一个函数属性,让你根据其他属性运行各种计算和函数。你可以使用公式来操作现有数据,并得出许多其他有用的值 🔮
Notion 函数可以使用你现有的数据库属性、内置元素和函数来执行实用的计算。
让我们来看看使用函数的几种不同方式。如果你已经准备好开始构建自己的函数,可以直接跳转到下方的 函数创建说明。
在本示例中,我们将使用三个函数来跟踪项目进度。
<aside> <img src="/icons/attachment_orange.svg" alt="/icons/attachment_orange.svg" width="40px" />
你可以将 此页面 在你的工作空间创建副本,来探索和体验这些函数设置!
</aside>
目标 | 属性名称 | 函数 | 使用的函数和内置元素 |
---|---|---|---|
将项目的截止日期设置为开始日期后两周 | Due date | dateAdd(Start Date, 2, "week") |
dateAdd() 用于给日期添加时间。时间单位参数可以是以下其中之一:years (年)、quarters (季度)、months (月)、weeks (周)、days (天)、hours (小时)或 minutes (分钟)。在本例中,我们使用 weeks (周)。 |
如果项目已超过截止日期且状态不是 Done ,则标记为逾期。 |
如果项目已超过截止日期且状态不是 Done
,则以红色粗体字标记为逾期。 | Overdue? | if(and(now() > Due Date, Status != "Done"), "Overdue", "")if(and(now() > Due Date, Status != "Done"), style("Overdue", "red", "b"), "")
| if()
如果条件为真则返回第一个值,否则返回第二个值。这允许根据条件返回不同的结果。
and()
是一个逻辑运算符。这允许评估多个条件是否同时为真。
now()
返回当前日期和时间。这允许我们评估当前时间相对于项目截止日期的状态。
>
是一个比较运算符。这允许比较截止日期是否大于当前日期。
!=
是一个比较运算符。这允许定义状态不等于 Done
的条件。
style()
为文本添加样式和颜色。有效的格式样式包括 b
(粗体)、u
(下划线)、i
(斜体)、c
(代码)或 s
(删除线)。有效的颜色包括 gray
、brown
、orange
、yellow
、green
、blue
、purple
、pink
和 red
。在颜色后添加 _background
可以设置背景色。在本例中,我们应用 bold
(粗体)和 red
(红色)。 |
| 显示与项目关联的未完成任务数量 | Tasks remaining | length(Tasks.map(current.Status != "Done"))
| length()
返回文本或列表值的长度。这允许统计剩余任务的数量。
map()
返回一个列表,其中包含对输入列表中每个项目调用表达式的结果。这会查看任务数据库并提取所有符合条件的任务。
!=
是一个比较运算符。这允许提取状态不是 Done
的任务。 |
在本示例中,我们将使用两个函数来集思广益项目创意,计算每个项目的优先级得分,并统计每个项目获得的赞同票数。
<aside> <img src="/icons/attachment_orange.svg" alt="/icons/attachment_orange.svg" width="40px" />
你可以将 此页面 在你的工作空间创建副本,来探索和体验这些函数设置!如果你想了解使用 RICE 框架的另一种设置方式,可以查看这个 模板。
</aside>
目标 | 属性名称 | 函数 |
---|---|---|
根据影响范围 (Reach)、影响力 (Impact)、信心指数 (Confidence) 和工作量 (Effort) 的分数(RICE 框架),计算优先级得分 | 得分 (RICE) | Reach * Impact * Confidence / Effort |
当有人点击投票按钮时,计入总票数并将他们的名字添加到数据库页面 | 总票数 | length(Upvoted by) |
在本示例中,我们将在数据库 自动化(一种数据库属性)中使用函数,以便在所有子任务标记为 Done
时,自动将父任务标记为 Done
,从而更轻松地管理项目和任务。
数据库自动化包含触发器和基于这些触发器执行的操作。函数允许你定义变量,然后在操作中使用这些变量。