【Notion】Relationを使った保守がしやすいタスク管理のやり方

Notion

Blackサムネ

Notionは高機能で実現できることが多いドキュメント管理アプリです。自分の発想次第であらゆることができる万能なツールである反面、その自由度の高さからページの作り方に一度は悩む方は多くいると思います。

その中でもタスク管理はあらゆるプロジェクトにおいて必須の業務であるので、Notionではデータベースをつかってタスク管理をしたいと思う方は多いです。

今回はデータベースのRelationという機能を使うことで、見やすく保守がしやすいタスク管理のやり方について話します。

Notionのページの構造の考え方はエンジニアがシステムでデータベースを設計する考え方に似ています。
設計に慣れているエンジニアであれば比較的容易にでできると思いますが、非エンジニアの人にとっては構造を考えるのは難しいと思います。(現役エンジニアの私も最初は全然わかりませんでした。。)

非エンジニアの方でもわかるように具体的にどういうページの構造にすればよいのかについて紹介していますので最後まで読んでいってください。

Relationとは?

まずはNotionのデータベースの機能であるRelationとは何かについて話します。

Relationは2つのデータベースをつなげるためのプロパティです。

Notionのデータベースには多くのプロパティがあり、その中の一つがRelationです。Relationを初めて使う人にとっては名前を聞いても何ができるのかイマイチよくわからない機能ですね。
(プロパティの下の方にADVANCE枠としてあります。)

Relationの使用方法

では実際に顧客管理タスク管理のデータベースをRelationでつなげてみましょう。

完成形と手順は以下のようになります。

完成形

タスク管理のステータスを変更すると自動で顧客管理の方にも反映されるようになっています。

手順

  • 顧客管理、タスク管理のデータベースを作る
  • 顧客管理にRelationを作り、タスク管理を選択する
  • 顧客管理にRollUpを設定しタスク管理のステータスを選択する

3つの手順でいきます。

1. 顧客管理、タスク管理のデータベースを作る

まずはそれぞれのデータベースを作成しましょう。データベースは/tableと打ち込めば候補で出てきます。データベースの種類はいくつかありますが、今回はテーブルにしました。

 

タスク管理にはSelectプロパティでステータスを作っておきましょう。

2. 顧客管理にRelationを作り、タスク管理を選択する

顧客管理のデータベースでRelationプロパティを追加します。データベースの見出し行の+ボタンからRelationを選択します。

データベースを選択する画面が表示されるので、先程作成しておいたタスク管理を選択します。

Relationが作成されると、関連付けたデータベースにもプロパティが追加されます。
プロパティの名前を修正しておきましょう。

3. 顧客管理にRollUpを設定し、タスク管理のステータスを選択する

顧客管理のデータベースでRollUpプロパティを追加します。

RollUpはRelationと組み合わせて使用するプロパティです。関連付けられたデータベースのプロパティを表示させることができます。ExcelのVLOOKUP関数のようなイメージです。

データベースの見出し行の+ボタンからRollUpを選択します。

RollUpのプロパティの部分をクリックし、Configure rollupで設定します。

RELATIONにタスク管理を設定し、PROPERTYにステータスを設定します。

これで設定は完了です。

実際にRelationの値を選択して入力してみると顧客管理とタスク管理が関連付けられました。RollUpで用意したステータスも関連付けられていますね。

タスク管理のページの作り方

それでは本題であるタスク管理のページを作りましょう。
タスク管理ではプロジェクトタスクが使われることが多いので、今回はそのパターンで構成していきます。
プロジェクトとタスクの言葉の違いがよくわからない方はこちらのページを参考にみてください。

Notionでよくやってしまいがちな失敗パターンがあるので、まずは先にわるい例を見てみましょう。

わるい例

プロジェクトの下にタスクがあるという固定観念からか、よくやってしまう失敗パターンだと思います。
この方法でも、プロジェクトごとのタスクはそれぞれのタスクDBで確認できますが、AとBの両方に参加しているメンバーはTask AとTask B2つのデータベースを別々に参照する必要があります。このやり方だとプロジェクトが増えれば増えるほど参照先が増えてしまい、管理しづらいです。

この構造のデメリット
データベースを別々に参照しなければならないため管理しづらい
よい例

プロジェクトの下にタスクDBを作らずに、独立させてデータベースをつくります。
このままだとタスクDBとプロジェクトDBを関連付けるためにRelationを使います。
プロジェクトの下には本体となるDBではなく、LinkedDatabaseを配置して、階層構造をつくっています。
LinkedDatabaseはNotionのデータベースを別のページから参照することが可能になるブロックです。

この構造のメリット
  • 1つのデータベースをみるだけですべてのプロジェクトのタスクが見える
  • プロジェクトページでRelatedDBを使ってフィルタをかければそれぞれのプロジェクトでのタスクも見える
  • 保守がしやすい

おわりに

今回はRelationをつかった保守がしやすいタスク管理の方法について話しました。
変化に強い保守性の高さはのちのちの作業負荷を減らすことができるのでなるべく早めにやっておくことが重要です。
今回紹介した方法でみなさんもタスク管理をしてみてはいかがですか。

kintoneアプリ開発のご依頼は株式会社Crenaへ

会社名 株式会社Crena(クレナ)
TEL 043-388-8819
設立 2020年8月
代表取締役 平野 賢太郎 (Hirano Kentaro)
事業内容

クラウドソリューション事業

システム開発事業

ビジネスソリューション事業

URL https://create-new-air.com/

投稿者プロフィール

Kent
ケントです。大学卒業後、キヤノンでエンジニアとして7年働いた後、会社立ち上げから参画。現在はCrenaにフルコミットしています。
ラーメン、コーヒー、ガジェット、そしてプログラミングが好きな29歳。最近Notionにどハマリ中。

関連記事