【Notion教程】Notion Relations & rollups链接与统计

你是否曾经想要把两个表格的数据关联起来?真幸运!Notion 的关联属性就是专为帮你表达不同 Database(数据库)条目之间的关系而设计的。
数据库关联是什么?
假设你有两个数据库,用来管理假想的生意。
- 一个用来记录顾客
- 一个用来记录售出的商品
你想知道哪些顾客买了哪些商品,还想知道哪些商品是被哪些顾客买走了。这正是关联的应用场景!
- 在下面的两个表格中,用
↗ Items
和↗ Customers
标记的就是 Relation (关联)属性,添加它们就像添加其他数据库属性那样简单。 - 现在,当你向 Customers 数据库中添加售出的商品时,购买这些商品的买家会自动出现在 Items 数据库中的
↗ Customers
列中。
示例
- 将饭店数据库和社区数据库关联起来,这样你就可以一眼看到哪个餐馆在哪个社区。
- 将会议记录数据库和客户数据库关联起来,以便快速访问与每个顾客相关的记录。
- 将任务数据库与大型项目数据库关联起来,以了解如何将项目分解为任务,以及任务如何促进项目。
- 将候选人数据库和面试官数据库关联起来,以跟踪谁面试了谁。
创建一个关联
要想关联两个数据库,你首先需要两个数据库。因此,让我们假设你已经为本次演练建立了上面的 Customers 和 Items 数据库。
- 在 Customers 数据库中新建一个列/属性。
- 在弹框中给新属性命名,如
Items Purchased
。 - 从
Property Type(属性类型)
菜单中选择Relation(关联)
。
- 点击下拉菜单,搜索你想要关联的数据库。
- 点击
Create Relation(创建关联)
按钮。 在另外那个数据库中,你会看到新的一列跳了出来,代表两者之间双向关联的关系。现在,你在其中一个关系列中增加的任意内容,都会影响另一个关系列。
- 点击此列可以重新命名。
现在,当你点击其中一个关系列中的单元格,会呼出一个菜单,你可以在菜单中搜索并添加来自另一个数据库的条目。
- 例如,你可以这样添加每个顾客购买的衣服。
- 在 Items 数据库的关系列中,你会看到顾客的名字跳了出来,代表这些顾客就是对应的买家。
- 若想一次添加多个条目,可以点击蓝色的
+
。若想删除一个条目,可以点击红色的X
。
- 这些编辑操作是双向的。因此,如果你在 Items 数据库中的关系列添加了一个顾客,相应的更改会立刻显示在 Customers 数据库中。
小技巧:若要更改要连接的数据库,可以点击关系属性,重新选择 Relation(关联)
属性类型。弹窗会提示你选择一个新的数据库。
打开一个关联页面
当你创建了一个关系,本质上是将存储在一个数据库中的 Notion 页面添加到另一个数据库的属性字段中了。这些页面同样可以被打开、被编辑:
- 点击关系列中的页面。然后在弹出的窗口中再次点击该页面。
- 你还可以通过点击红色的
X
来移除页面。
将数据库关联到它本身
假设你想要在同一个数据库中的条目之间建立关联。例如,你有一个任务数据库,你想让每个任务和其他任务关联。有两种实现方式:
- 用Relation (关联)关联
- 以父子任务的形式关联
不管那么多,我们先创建一个新的关系。然后搜索并选择你当前操作的数据库。
关联任务
如果你想要将任务简单关联 —— 也就是你想要同时处理任务,或者它们大概属于同一类工作 —— 你可以建立仅单向同步的关系。
- 假设你要同时买一个鱼缸和一个过滤器。
- 在把数据库关系自身后,选择
Use the same property(使用相同属性)
。这样,这个关系就是单向同步的了。
以父子任务的形式关联
如果你想要使数据库中的一些任务从属于其他任务,你可以创建一个双向同步的关系。对于任何给定的任务,你可以看到它所包含的子任务,或者它是谁的子任务。
- 假设你正在写一份产品文档(父任务),需要做一些用户调查并创建一个实体模型(子任务)。
- 在把数据库关系自身后,选择
Create a new property(添加新属性)
。这样就建立了两个新列,以双向的方式同步。
归纳
归纳能够基于关联,帮你把数据库中的数据聚合起来。回到 Customers 和 Items 的例子,假设你想要知道每个顾客在他们所买的商品上花了多少钱。
- 首先,创建一个关联,这样你就能知道谁买了什么。
- 添加一个新列/属性,并在
Property Type(属性类型)
菜单中选择Rollup(归纳)
,并命名。 点击归纳列中的任意单元格,会呼出一个新的菜单,让你选择:
- 你想归纳的关系属性。
- 你想归纳的关联页面的属性。
- 你想要应用的计算方式。
- 因此,在我们的例子中,你要选择想在这些页面中归纳的关系属性
Items Purchased
和Price
属性,然后选择Sum
作为计算方式。
归纳类型
一个归纳属性有 16 种不同的的计算方式。如下:
Show Original
:在同一个单元格中显示所有的关联页面。等效于关系属性本身。Count All
:对所有关联页面中选定属性值计算总个数。Count Unique Values
:对所有关联页面中选定属性的值计算特殊值的个数。Count Empty
:计算选定的属性的值为空值的关联页面的个数。因此,如果一个顾客购买的一个商品没有价格,而这个属性被选定了,那么归纳列会显示 1.Count Not Empty
:计算选定属性的值为指定值的关联页面的个数。Percent Empty
:显示选定属性的值为空值的关联页面的百分比。Percent Not Empty
:显示选定属性的值不为空的关联页面的百分比。
这些归纳计算只支持 Number
属性:
Sum
:计算关联页面的数字属性的和(如上例)。Average
:计算关联页面的数字属性的平均值。Median
:计算关联页面的数字属性的中位数。Min
:计算关联页面的数字属性的最小值。Max
:计算关联页面的数字属性的最大值。Range
:计算关联页面的数字属性的极值之间的范围(Max
-Min
)。
这些归纳计算只支持 Date
属性:
Earliest Date
:计算关联页面的日期属性中的最早日期/时间。Latest Date
:计算所有关联页面的日期属性的最晚日期/时间。Date Range
:计算关联页面的日期属性的起止范围。
聚合归纳
在表格和看板中,你都可以对归纳列应用计算,以得到整个数据库中的和、范围、均值等概念。
- 假设你想要在上文的例子中计算所有顾客的消费总额。
- 在 Customers 表格的底部,归纳列的下面,点击
Calculate
。 - 选择
Sum
将列中所有的值加到一起,得到总数。
在看板中,你可以像在表格中那样,通过添加一个 Relation
新属性来创建关系。
- 如下,我们已经创建了关系属性(你可以在页面卡片上看到每个顾客购买的商品)和计算每个顾客的总价格的归纳属性。
- 你可以这样计算所有顾客的消费总和:
常见问题:
- 可以将导出或导入关联吗?
当你把一个关系型的数据库导出为一个 CSV 文件,关系属性会被导出为纯文本 URL。目前来说,你还不能把这个 CSV 文件重新导入进 Notion 并恢复数据库间的关系。
- 我能复制带有关联的数据库吗?
能,但会发生下面这个让人困惑的现象:
如果你在上例中创建了 Customers 数据库的副本,你会看到一个新的关系属性自动出现在了 Items 数据库中。
这是因为在 Notion 中,关系是双向同步的。当你复制了一个数据库,你也复制了它与其他数据库的关系。你会找到窍门的!