Notionのリレーションとロールアップ徹底解説(具体例つき)
リレーションとロールアップは、Notionを「メモアプリ」から「軽量なデータベースツール」へと変える2つの機能です。同時に、いちばん混乱しやすい2つでもあります。この記事では、5分で再現できる1つの例を使って、両方をはっきり解説します。
結論を先に
- リレーションは、あるデータベースの行と別のデータベースの行を結びつけます。(「この注文は、あの顧客のもの」)
- ロールアップは、そのリレーションをたどって集計します。(「この顧客のすべての注文の合計金額」)
リレーションが「つながり」を作り、ロールアップがその上で計算します。ほぼ必ず、先にリレーションを作り、あとからロールアップを足します。
例:顧客と注文
2つのデータベースを想像してください。
- 顧客 — 顧客1人につき1行。
- 注文 — 注文1件につき1行。各行に金額という数値があります。
各顧客に、その注文一覧と合計購入額を表示させたい。手順は次のとおりです。
ステップ1:リレーションを作る
- 注文データベースを開きます。
- 新しいプロパティを追加し、種類を「リレーション」にします。
- 関連づける先として「顧客」を選びます。
- 「顧客に表示」(両側に表示、の意味)をオンにします。両方のデータベースにリンクが現れます。
これで、どの注文でも、それが属する顧客を選べるようになります。両側表示をオンにしたので、各顧客には自動的に、紐づいた注文を並べる「注文」プロパティが付きます。
ステップ2:いくつか紐づける
注文を開いて顧客を設定します。いくつかの注文で、同じ顧客を指すように設定してみましょう。その顧客の「注文」プロパティにリンクがたまっていきます。これがリレーションが働いている状態です——まだ計算はしていません。
ステップ3:ロールアップを足す
ここからが本番。顧客データベースで、
- 新しいプロパティを追加し、種類を「ロールアップ」にします。
- リレーション:「注文」を選びます。
- プロパティ:「金額」を選びます。
- 計算:「合計」を選びます。
これで各顧客の行に、紐づくすべての注文金額の合計が表示され、注文を追加したり数値を変えたりするたびに自動更新されます。
ロールアップでできる他のこと
計算メニューは合計だけではありません。よく使うもの:
| 計算 | 使いどころ |
|---|---|
| 合計 | 売上合計、作業時間の合計 |
| 平均 | 平均注文額 |
| すべてカウント | 紐づく件数 |
| 値をカウント | 値が入っている件数 |
| 最古/最新の日付 | 初回・直近の注文日 |
| オリジナルを表示 | 計算せず値をそのまま並べる |
リレーションとロールアップの違いを一言で
リレーションは2つのデータベースをつなぐ「配線」。ロールアップは、その配線を流れるものを読み取る「メーター」。
紐づいた項目を見たいだけならリレーションで十分。その項目についての数値や集計が欲しくなった瞬間に、ロールアップを足します。
よくあるつまずき
ロールアップは、関連先のデータベースにある値しか集計できません。もし「入金済みの注文だけを合計したい」のように条件つきで集計したいなら、定番の技があります。まず注文側に関数を足し——たとえば「入金済みなら金額、そうでなければ 0」という 入金額 を作り——そのうえでその関数をロールアップするのです。ロールアップ自体は絞り込みができないので、関数で絞り込んでから集計します。
最後のあたりが曖昧なら、先にNotionの関数(数式)の使い方を読んでから戻ってきてください。
実際に作ってみる
「レコードを関連づけて、合計をロールアップする」——このパターンこそ、Notionで作るあらゆる管理表の背骨です。実際の動きは、NotionでCRMを作る手順で確認できます。そこでは、リレーションが取引と会社を結び、ロールアップが総パイプライン金額を表示します。