侧边栏壁纸
  • 累计撰写 225 篇文章
  • 累计创建 80 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

【Notion教程】Nition 数据库公式

班码匠
2023-01-08 / 0 评论 / 0 点赞 / 177 阅读 / 2,276 字

在 Notion 的 Database(数据库)中,你可以添加 formula(公式)property(属性),该 properties (属性)可以使你基于其他 properties (属性)进行各种运算和函数。正如在 Excel 或者 Google Sheet 中那样,你可以在 Notion 中使用公式求和以及获取其他许多有用的值。
** 点击下载 Notion 安装包 **** 电脑端、手机端、浏览器插件 **

公式术语

书写公式时最最艰难的就是理解所有的术语了!以下是你在 Notion 中使用公式时最常见的词语以及它们的含义:

  • Function(函数) :一组输入值与一组可能的输出值之间的关系,每个输入仅与唯一的输出相关联。
  • Syntax(语法) :指的是公式中能够返回正确值的字母和术语的顺序。
  • Argument(自变量) :指的是函数中的任意输入值,如一个属性。
  • String(字符串) :通常指的是文本(即一串相连的文字)。公式中,字符串往往被包裹在引号中。
    • Substring(子字符串)指的是一个长字符串中的一段。“No”就是“Notion”的子字符串。
  • Boolean(布尔型) :布尔值非 true(真)即false(假)。
  • Concatenate(连接) :连接两个字符串。
    • 例: concat("add", "text") 会生成 "addtext"

操作中的术语

一个可以把上述术语串在一起的例子: concat("add", "text")

  • concat 就是函数。它对其圆括号中的输入值应用特定的计算或者操作。
  • "add""text" 就是函数的 自变量
  • 每个自变量都是文本类型(或者是 字符串 )。
  • 函数可以使用各种类型不同的自变量,例如 checkbox(复选框)(也就是 布尔型 )、数字或者 日期。
  • 函数的 语法 要求用引号包围字符串,而其自变量则需要用圆括号包围。

写一个公式

  • 首先,在 Database(数据库)中添加一个新属性并命名,从 Property Type(属性类型) 菜单中选择 Formula(公式)
  • 为了让公式对属性进行操作,你需要输入一个函数,这个函数会用到该属性。
  • 属性的操作很像公式中的变量。使用你给它起的名字就可以操作它。
  • 你可以像输入数字计算器一样输入函数(还记得吗?)。记得用圆括号和引号包围属性!
  • 例子:与 21 岁差多少年?
    • 假设 Database(数据库)中有一个数字类型的属性,名为 Age ,而你想要用公式属性显示人的年龄与 21 岁的差距。
    • 输入 21 - prop("Age") 即可返回 21 减去数据库中每个人的年龄属性值的结果。

8d5c47c2f7b8d037.gif

公式菜单

当你编辑一个公式属性时,公式窗口就会自动弹出。该窗口的左侧菜单包含以下部分:

  • Properties :列出数据库中用到的所有属性。点击即可用对应的格式插入到公式中。
  • Constants :常用的常量,比如圆周率(Pi)。点击即可添加到公式中。
  • Operators :可以运行的简单运算。左侧的图标显示了它支持的属性类型。例如,Subtraction(减法)和 Addition(加法)只支持数字类型。
  • Functions :可以在 Notion 中运行的更复杂的、预先定义的公式。同样,左侧的图标显示了它支持的属性类型。
  • 在窗口顶部的文本框输入文字,即可搜索到你需要的以上内容。
  • 你还可以用方向键上下滚动来查看列表。

小技巧: 将鼠标悬浮在侧边栏中的列表项上,即可看到完整的释义,详细说明了使用方法和示例。

54289ad11761d41c.gif

  • 例子: 距离期限的天数
    • 有一个任务数据库,列出了对应的期限。我们的目标是计算出当前日期距离期限还剩多少天。
    • 对于数据库中的每个任务,用日期属性设置一个期限。
    • 然后,添加一个新属性,并从 Property Type(属性类型) 菜单中选择 Formula 。将它命名为“剩余天数”。
    • 在表格中,点击公式列中的任意单元格,打开编辑公式窗口。

120a5670bf6e3fd4.gif

  • 在文本框中,输入 date 检索出与日期相关的命令。 dateBetween() 看起来有用 —— 它会以我们需要的时间单位返回两个日期之间的时间。

6d434c668b208f02.gif

  • 根据此函数的介绍,你需要给定两个日期以及一些文本:截止日期、当前日期、需要的日期单位(years、months、days,等等)。

0cfa6dd6d6d0b988.png

  • 在公式侧边栏顶部的 Properties 类目下点击截止日期的属性名,或者直接输入 prop("Deadline") 将截止日期插入到 dateBetween() 函数中。

4f9ea3d2269239ea.gif

  • 现在,我们的公式长这样: dateBetween(prop("Deadline")) 。让我们来找找如何获取当前日期。 now() 看起来有用,因为它会返回当前日期。
  • 按如下步骤完成函数:
    • 首先,添加一个逗号,表示我们想要得出截止日期和当前日期的时间差: dateBetween(prop("Deadline"), now())
    • 然后,根据函数的说明,定义我们想要的时间单位: dateBetween(prop("Deadline"), now(), "days")
    • 最后,点击 Done ,对数据库应用此函数。
    • 大功告成!现在你就能知道距离截止日期还剩多少天了

fd33e659f26f28de.gif

常用例子

我们汇集了一些常用的公式例子,并附上书写方法

自动勾选复选框

你可以写一个公式,让数据库中的复选框根据其他属性值自动判断勾选状态。

  • 目标 :如果 Priority 为空或者包含“Important”,则勾选复选框。
    • 公式or(empty(prop("Priority")), prop("Priority") == "Important")

此公式对数据库中的 Select 属性同样适用。在本例中,如果 Select 属性的值为“Option 1”,则选择框为选中状态。

  • equal(prop("Select"), "Option 1")

日期计算

使用数据库中的日期属性,你可以计算各种时间范围。

  • 目标 :在“Years Employed”下面显示 Doug 到目前为止被雇用的年数。
    • 公式dateBetween(now(), prop("Start Date"), "years")
  • 目标 :在“Years Remaining”下面显示 Doug 的剩余工作年限。
    • 公式dateBetween(prop("End Date"), now(), "years")
  • 目标 :在“Formatted Text”下面,用年和月显示 Doug 的剩余工作时间。
    • 公式concat(format(prop("Years Employed")), " years, ", format(dateBetween(prop("End Date"), now(), "months")), " months")

舍入公式

这些公式可以用不同的方法来四舍五入。

  • 舍入为整数 :用 round() 包围你的公式
    • 例子: round(prop("One)" / prop("Two"))
  • 保留一位小数 :用 round(*10)/10 包围你的公式
    • 例子: round(prop("One") / prop("Two") * 10) / 10
  • 保留两位小数 :用 round(*100)/100 包围你的公式
    • 例子: round(prop("One") / prop("Two") * 100) / 100

在日期中添加星期几

获取日期并在公式属性中自动识别星期几。

  • formatDate(prop("Date"), "dddd, MMMM D, YYYY")

过期提醒

如果已经超过期限,则自动勾选。对个人 CRM 很有帮助,你可以设置一个你想要联系某人的日期,然后反复执行。

  • prop("Due Date") < now()

报错排查

在使用公式时,你可能会遇到一些报错信息:

  • Type mismatch: prop("Number") is not a Text
    • 这意味着你在使用的公式只支持文本属性。
    • 应对办法是,尝试用 format() 包围数字属性。
    • 例如: prop("Number") + prop("Text") 会报错。可以改为: format(prop("Number")) + prop("Text")
  • Too few arguments in function if
    • 这意味着你可能漏写了“else”语句。
    • 尝试在公式末尾用 , "") 的方式添加 “else empty” 语句。
    • 例子: if(prop("1") == "this", "that") 会报错。 可以改为: if(prop("1") == "this", "that", "")

【原文链接】:https://mp.weixin.qq.com/s?__biz=Mzg4MDg0NzAyNw==&mid=2247484314&idx=1&sn=75bab43873553f7d12896034fe348038&chksm=cf6fb246f8183b50448dedb3bc0bb33a21d9bea6e10c9fb2b5910f94303fc6bee1c5c2672720#rd

0

评论区