Notionでタスクやプロジェクトを管理していると、ステータスごとに何件あるのかを集計したい場面が頻繁に発生します。例えば「未着手」「進行中」「完了」の件数をプロジェクトごとに把握したいケースです。Notionのロールアップ機能を使えば、リレーションで紐づいたデータベースから特定のプロパティを集計できますが、ステータス別に件数を分けるには少し工夫が必要です。本記事では、ロールアップ設計の正しい手順とよくある失敗パターンを解説し、実際に業務で使える集計方法を紹介します。
【要点】この記事で確認すること
- 最初に見る場所: 集計元のデータベースに各ステータスごとの計算用プロパティ(チェックボックスや数式)が正しく設定されているか確認します。
- 切り分けの軸: リレーションの方向とロールアップの計算タイプ(Count all と Count values)の違いを理解し、集計結果が想定と異なる原因を特定します。
- 注意点: 会社のワークスペースでは、データベースのリレーションをむやみに変更すると他のメンバーに影響を与えるため、事前に管理者へ確認してから設計を行います。
ADVERTISEMENT
目次
ロールアップ集計の基本構成
ステータス別件数を集計するには、まずデータベース間のリレーションとロールアップの仕組みを正しく理解する必要があります。基本となるのは、集計元(タスクなど)と集計先(プロジェクトなど)の二つのデータベースです。
データベースの関係性
集計先のデータベース(例:プロジェクトDB)に、リレーションプロパティを追加して集計元のデータベース(例:タスクDB)と紐づけます。このリレーションは「1対多」が一般的です。つまり、1つのプロジェクトに複数のタスクが属する形です。リレーションを張ると、集計先の各ページ(プロジェクト)から、紐づく集計元のページ(タスク)を参照できるようになります。
ロールアップの仕組み
ロールアッププロパティは、リレーションで紐づいた先のデータベースのプロパティを集計する機能です。集計タイプには「Count all」「Count values」「Sum」「Average」「Min」「Max」などがあります。ステータス別件数を集計する場合、「Count all」では全件数、「Count values」では値が入力されているセルの数が取得できます。しかし、特定のステータスだけをカウントするためには、事前に集計元のデータベースに各ステータスを識別するための計算用プロパティを用意する必要があります。
ステータス別件数を集計する具体的な設計手順
- 集計元データベースにステータスプロパティを作成する。 例えばタスクDBにSelect型のプロパティ「ステータス」を追加し、「未着手」「進行中」「完了」などの選択肢を設定します。
- 集計先データベースにリレーションプロパティを作成する。 プロジェクトDBに「タスク」という名前のリレーションを追加し、集計元のタスクDBと関連付けます。このとき「このプロパティは双方向に表示しますか?」のチェックは、必要に応じてオンにします(通常はオンで問題ありません)。
- 集計元データベースに計算用プロパティを追加する。 ステータスごとに、該当するかどうかを判定するプロパティを作成します。代表的な方法は2つあります。
- チェックボックス方式: 「未着手フラグ」というチェックボックスプロパティを作成し、数式プロパティで「ステータスが未着手ならtrue」という条件式を設定します。例:
if(prop("ステータス") == "未着手", true, false)。このフラグをロールアップでCountします。 - 数式方式: チェックボックスを使わず、数式プロパティ自体をロールアップでCount valuesすることも可能です。数式が真偽値を返す場合、Count valuesでtrueのみをカウントできます。ただし、数式プロパティの出力が文字列や数字の場合は注意が必要です。
- 集計先データベースにロールアッププロパティを追加する。 プロジェクトDBに「未着手タスク数」というロールアッププロパティを追加します。設定画面で、リレーション(タスク) → 計算用プロパティ(未着手フラグ) → 計算タイプ(Count)を選択します。同様に「進行中タスク数」「完了タスク数」もそれぞれ作成します。
- ロールアップ結果を確認する。 各プロジェクトページに、紐づくタスクのステータス別件数が表示されます。ビューでグループ化やフィルタを使って確認することも可能です。必要に応じて、ロールアップ結果をさらに数式プロパティで加工し、割合を計算することもできます。
以上の手順で、ステータス別件数を自動集計できるようになります。タスクのステータスを変更すると、即座に集計結果が更新されるため、リアルタイムな進捗管理が可能です。
失敗しがちな設計パターンとその対策
リレーションの設定ミス
最も多い失敗は、リレーションが正しく張られていないことです。例えばタスクDBからプロジェクトDBへのリレーションしか作らず、プロジェクトDB側にリレーションがない場合、ロールアップは機能しません。必ず集計先データベースにリレーションプロパティを追加してください。また、双方向に設定しておくと、両方のデータベースで紐づきを確認できるため便利です。
計算用プロパティの条件式ミス
チェックボックス方式の場合、数式プロパティの条件式が正しくないと、すべてのタスクがフラグオンになったり、全くオンにならなかったりします。例えば、ステータス名に余分な空白が含まれているとマッチしません。Select型の選択肢は正確に一致させる必要があります。また、数式の構文エラーにも注意してください。Notionの数式は大文字小文字を区別するため、「未着手」と「未着手」のスペルも正しく入力します。
ロールアップの計算タイプ誤り
「Count all」はリレーションで紐づく全ページ数をカウントします。つまり、計算用プロパティの値に関わらず、常に全件数が返ります。一方、「Count values」は計算用プロパティに値が入力されているセルの数をカウントします。チェックボックス方式では、trueのセルだけが値として認識されるため、「Count values」を使う必要があります。間違って「Count all」を選ぶと、全件数が表示されてしまい、ステータス別になりません。必ず計算タイプを「Count values」に設定してください。
状況別のおすすめ設計比較
ステータス別件数を集計する方法はいくつかあります。以下に代表的なパターンを比較します。
| 設計パターン | メリット | デメリット | おすすめシーン |
|---|---|---|---|
| チェックボックス方式+ロールアップCount values | シンプルで直感的、数式の修正が容易 | ステータス数と同じ数の計算用プロパティが必要 | ステータスが少ない(5種類以下)場合 |
| 数式方式+ロールアップCount values | チェックボックスが不要でデータベースがすっきり | 数式が複雑になりがち、エラーが見つけにくい | 数式に慣れている上級者向け |
| ロールアップ+ビューのフィルタ | 計算用プロパティ不要で手軽に集計 | ビューごとにフィルタ設定が必要、他のデータベースから再利用しにくい | その場限りの確認で、永続的なプロパティが不要な場合 |
管理者に確認すべきポイント
会社のNotionワークスペースでデータベース設計を変更する場合、以下のポイントを管理者またはチームリーダーに確認してください。
- データベースの共有設定:集計元・集計先のデータベースが、チーム全員に共有されているか。ロールアップはリレーション先のデータベースのプロパティを参照するため、アクセス権がないと正しく集計できません。
- リレーションの影響範囲:既存のデータベースにリレーションを追加すると、そのデータベースを使っている他のページやビューに影響を与える可能性があります。特にテンプレートや自動化と組み合わせている場合は注意が必要です。
- ワークスペースのプラン:無料プランではブロック数やAPIの制限があります。大規模なデータベースのロールアップは処理が重くなることがあるため、パフォーマンスに問題が起きないか確認します。
- 変更の周知:共有データベースの構造を変更する場合は、事前にチームメンバーに通知し、混乱を防ぎます。特に計算用プロパティを追加すると、既存のデータに影響しないかテストが必要です。
よくある質問
ロールアップで「進行中」だけを集計したい場合の具体的な手順は?
上記の手順で、計算用プロパティの条件式を「ステータスが進行中」に変更するだけです。例えばチェックボックス方式なら、数式をif(prop("ステータス") == "進行中", true, false)とします。同様に、任意のステータスに対応するプロパティを追加すれば、いくつでも集計できます。
複数のステータスをまとめて集計したい(例:未着手+進行中をアクティブとして集計)場合は?
計算用プロパティの条件式でor条件を使います。例えば「アクティブフラグ」というチェックボックスを作り、数式をif(or(prop("ステータス") == "未着手", prop("ステータス") == "進行中"), true, false)とします。このフラグをロールアップでカウントすれば、アクティブなタスクの総数が取得できます。完了ステータスを除外したい場合などに活用できます。
ロールアップの計算結果が正しく表示されない場合のチェックポイントは?
まず、リレーションプロパティが正しく設定されているか確認します。集計先のページで、リレーション先のページが表示されているか見てください。次に、ロールアップの計算タイプが「Count values」になっているか確認します。さらに、計算用プロパティ(チェックボックスや数式)が正しく値を返しているか、個別のタスクページで確認します。数式にエラーがある場合は、プロパティの横に警告アイコンが表示されます。最後に、データベースのフィルタやグループ化が影響していないかチェックしてください。
プロジェクトDBにタスクの総数と完了数を同時に表示したい
総数はロールアップの計算タイプを「Count all」に設定したプロパティで表示できます。完了数は、完了ステータス用の計算用プロパティを用意し、「Count values」で集計します。そして、数式プロパティを使って「完了数 / 総数」を計算すれば、進捗率も算出可能です。数式例:round(prop("完了タスク数") / prop("総タスク数") * 100) / 100(パーセント表示にしたい場合)。
まとめ
Notionでステータス別件数を集計するには、リレーションとロールアップ、そして計算用プロパティの組み合わせが基本です。チェックボックス方式と数式方式のどちらを選んでも構いませんが、シンプルさを重視するならチェックボックス方式がおすすめです。失敗を防ぐためには、リレーションの方向、ロールアップの計算タイプ、条件式の正確さを入念に確認しましょう。また、ビューのフィルタだけで済ませる方法もありますが、再利用性を考えるとロールアップでプロパティ化しておくほうが長期的に便利です。本記事の手順を参考に、業務に即した集計環境を構築してください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Outlook】メール本文が「文字化け」して読めない!エンコード設定の変更と修復手順
