リレーションとロールアップ
2つのデータベースの情報を一度に見たいこともありますよね。Notionデータベースのリレーション形式のプロパティを活用すれば、複数のデータベースからのアイテムを関連付けて様々な表現をすることができます 🛠
よくあるご質問(FAQ)に移動たとえば、あなたが以下の2つのデータベースを仕事で使っていたとしましょう 😉
- 顧客管理データベース 
- 購入アイテム管理データベース 
誰がどのアイテムを買ったのかも知りたいし、どのアイテムが誰に購入されたのかも確認したいですよね。そこでリレーションの出番です!

- 上記の2つのテーブルでは、 - ↗ Items Purchasedと- ↗ Customersがリレーション形式のプロパティとなっています。リレーション形式のプロパティは、他のプロパティ形式と同様の方法で追加することが可能です。
- Customersデータベースで購入アイテムを追加すると、 - Itemsデータベースの↗ Customers列に購入者名が自動的に反映されます。
活用事例
- 飲食店一覧とエリア一覧をリレーションで関連付けると、どのエリアにどんな飲食店があるのかが一目でわかるようになります。 
- 議事録一覧と顧客一覧を関連付けると、各顧客に関連する議事録に簡単にアクセスできるようになります。 
- タスク一覧とプロジェクト一覧を関連付ければ、プロジェクトとタスクの相関関係がクリアになります。 
- 候補者一覧と面接官一覧を関連づけておけば、誰が誰の面接を行ったのかのログを残すのに便利です。 
2つのデータベースをリレーションで関連付けるには、まずデータベースを2つ作る必要があります。そこでまず、上記の例で登場した CustomersとItemsという名称の2つのデータベースを作成したと仮定して、リレーションの作成方法をご説明します。
- Customersデータベースに新しい列/プロパティを追加し、「Items Purchased」などの名前をつけます。 
- リレーションを見つけます。
- 次に、リレーションで接続したいデータベースを検索します。  
- リレーションのプレビューが表示されます。今回のケースでは、CustomersデータベースからItemsデータベースへのリレーションを作成しました。 
- 青色の - リレーションを追加ボタンをクリックして、新しいリレーション形式のプロパティの作成を確定します。 
- このリレーション列のセルをクリックすると、他のデータベースから追加するアイテムを検索して選択できるメニューがポップアップします。 - 以下の例では、各顧客がどの服を購入したかを入力する様子を示しています。 
- アイテムを追加したい場合は、リスト内の名前をクリックします。アイテムを削除したい場合は、アイテムにカーソルを合わせて、右側の - –をクリックします。
 


ヒント: 関連付けるデータベースを変更したい場合、対象のプロパティのプロパティ種別から再度リレーションを選択し、新しいデータベースを選択します。
リレーションは、デフォルトでは一方向で作成されます。しかし、リレーション対象のデータベースにも簡単に対応するリレーションプロパティを作成することができます。
双方向リレーションの場合、編集した内容は相互に同期されるので、Itemsデータベースのリレーション列に顧客を追加すると、Customersデータベースにも編集内容が反映されます。
- 上記の手順に従って、新しいリレーション形式のプロパティを作成します。 
- [関連データベース名]に表示のトグルをクリックします。この例では、- Itemsデータベースに表示という表記になっています。
- 対応するリレーションに名前を付けます。 
- 下に、双方向リレーションのプレビューが表示されます。今回のケースでは、CustomersデータベースからItemsデータベースへのリレーションを作成し、さらにItemsデータベースからCustomersデータベースへのリレーションを作成しています。 
- 青色の - リレーションを追加ボタンをクリックして、これら2つの新しいリレーション形式のプロパティ作成を確定します。

リレーションを作成するときは、あるデータベースに格納されているNotionページを別のデータベースのプロパティフィールドに追加します。
- これらのページは、他のページと同様に開いて編集することが可能です。リレーション列のページをクリックし、表示されたウィンドウでページをもう一度クリックします。 
- 関連付けられている任意のページにカーソルを合わせて、右側の - –をクリックする方法でも削除できます。
- リレーションプロパティに含めることができるページの数を制限するには、オプションで - 1ページまたは- 無制限を選択します。
- 1ページに制限するオプションを選択した場合、データベースを使用するユーザーはリレーションで1ページしか選択できません。これは、たとえば、各購入に関連付ける注文番号を1つのみにする必要がある場合など、1つのページのみを相互に関連付けたいときに便利です。
データベースページでリレーションの表示方法を変更するには:
- データベースページ上でリレーションをクリックします。 
- プロパティの表示/非表示をクリックし、- 常に表示、- 未入力時は非表示、または- 常に非表示から選択します。
リレーションの表示プロパティのカスタマイズ
データベースでリレーションを設定する際、リンクされたページのプロパティの中から表示項目を選択することもできます。たとえば、よくある質問(FAQ)のデータベースが社内にあるとします。各FAQには質問の回答を詳しく説明するページへのリレーションがあります。各ページの担当者がユーザーに表示されるようにして、追加の質問を誰に尋ねたらよいかわかるようにしたい場合は、担当者がリンクしたページと共に表示されるようにFAQデータベースを設定できます。
手順は次のとおりです。
- リレーションプロパティがあるデータベースのページを開きます。 
- ページをリンクさせるプロパティの横にあるフィールドをクリック → - •••をクリックします。
- 開いたメニューで、関連するデータベースのプロパティを - リレーションで表示または- リレーションで非表示の希望する方のセクションにドラッグします。
- 完了すると、リレーションフィールドに該当プロパティが表示されます。この操作は現在のデータベースにあるすべてのページに適用されます。 

同じデータベース内のアイテムを相互に関連付けたいとしましょう。たとえば、タスクデータベースがあって、各タスクを他のタスクに関連付けたい場合です。
- まずは新しいリレーションを作成することから始めます。 
- 次に、現在操作しているデータベースを検索して選択します。 
- これで、データベースと - このデータベースとのリレーションが作成されました。- データベース自体に関連付ける場合は、プロパティが重複するため、 - 双方向の関係をオフ にすることをお勧めします。
 

ロールアップ機能を使えば、リレーションに基づきデータの集計をすることが可能です。再度CustomersとItemsのデータベースの例を使い、各顧客が何を購入してどのくらい支払ったのか知りたいとしましょう。
- まず、誰が何を購入したのかが分かるようリレーションを作成します。 
- 新しい列/プロパティを追加して、 - プロパティの種類メニューから- ロールアップを選択し、列に名前をつけます。

- ロールアップ列のセルをクリックすると、以下を選択する新しいメニューが表示されます。 - ロールアップしたいリレーション形式のプロパティ 
- 関連付けられたページのうち、ロールアップしたいプロパティ 
- プロパティに適用したい計算 
 
- この例でいうと、これらのページ内のリレーション形式のプロパティ - Items Purchasedと- Priceプロパティをロールアップして、計算として- Sum(合計)を選択しています。- これで顧客名に関連付けられたアイテムの金額の合計値が算出されるため、顧客ごとの合計支払額がロールアップ列に表示されるようになります。 
 

ロールアップの種類
ロールアップ列に適用できる計算方法にはさまざまなものがあります。以下で、すべての方法を紹介します。
- オリジナルを表示する:関連付けられたすべてのページがセルに列挙されます。リレーション形式のプロパティと同様の使用感です。
- 一意の値を表示する:関連付けられたすべてのページのうち、選択したプロパティの一意の値を表示します。
- すべてカウント:関連付けられたすべてのページのうち、選択したプロパティの値の個数が表示されます。
- 値の数をカウント:関連付けられたすべてのページについて、選択したプロパティ内の空ではない値の個数が表示されます。
- 一意の値の数をカウント:関連付けられたすべてのページのうち、選択したプロパティにある一意の値の個数が表示されます。
- 未入力をカウント:関連付けられたページのうち、選択したプロパティが空欄になっているページの数が表示されます。例えば、顧客が購入した1つのアイテムに価格が設定されていなかった場合、ロールアップ列には「1」が表示されることになります。
- 未入力以外をカウント:関連付けられたページのうち、選択したプロパティに値が割り当てられているページの数が表示されます。
- 未入力の割合:関連付けられたページのうち、選択したプロパティが空欄になっているページの割合が表示されます。
- 未入力以外の割合:関連付けられたページのうち、選択したプロパティが空欄ではないページの割合が表示されます。

備考:ロールアップは、数値を出力する場合にのみ並べ替えることができます。
次のロールアップの計算は 数値 形式のプロパティのみで利用可能です:
- 合計:上記の例のように、関連付けられたページの数値形式のプロパティの合計が計算されます。
- 平均:関連付けられたページの数値形式のプロパティの平均が計算されます。
- 中央値:関連付けられたページの数値プロパティの中央値が表示されます。
- 最小:関連付けられたページの数値形式のプロパティの最小値が表示されます。
- 最大:関連付けられたページの数値プロパティの最大値が表示されます。
- 範囲:関連付けられたページの数値形式のプロパティの最小値と最大値の範囲が計算されます。(- 最大から- 最小を引いた数値)
次のロールアップの計算は 日付 形式のプロパティのみで利用可能です。
- 最も古い日付:関連付けられたすべてのページの日付形式のプロパティのうち最も古い日時が表示されます。
- 最も新しい日付:関連付けられたすべてのページの日付形式のプロパティのうち最も新しい日時が表示されます。
- 期間:関連付けられたページの日付プロパティのうち、最も古い日時と最も新しい日時の時間範囲が計算されます。
ロールアップの集計
テーブルでもボードでも、ロールアップ列に対してデータベース全体での合計、範囲、平均などの集計をさせることができます。
- 全顧客の購入金額の合計値を算出したいとしましょう。 
- 顧客テーブルで - 注文合計プロパティをクリックします。
- 表示されるメニューで、 - 計算→- その他のオプションにカーソルを合わせます。
- 合計を選択します。

よくあるご質問(FAQ)
リレーションをエクスポートやインポートできますか?
リレーションをエクスポートやインポートできますか?
リレーションを含むデータベースをCSVファイルとしてエクスポートすると、リレーションプロパティは、プレーンテキストでURLとしてエクスポートされます。現時点では、そのCSVをNotionに再インポートすることで他のデータベースとのリレーションを再構築することはできません。
リレーションを持つデータベースを複製できますか?
リレーションを持つデータベースを複製できますか?
はい。上記の例では、「顧客」データベースを複製した場合、複製されたデータベースである「顧客(1)」は「アイテム」データベースにリレーションとして表示されません。「顧客」データベースを複製すると、リレーションが双方向同期から一方向同期に変換されるためです。必要に応じて、いつでもリレーションを双方向同期に戻すことはできます。
ロールアップをロールアップできますか?
ロールアップをロールアップできますか?
残念ながら、意図せぬ循環参照が生じる可能性があるため、ロールアップのロールアップはできません。別のプロパティをロールアップすることをお勧めします 😊

