Notionで月別の集計を行いたいが、ロールアップの結果が正しく表示されない、または日付の範囲指定がうまく反映されないというお悩みはありませんか。データベースのロールアップ機能と日付プロパティの設定を正しく組み合わせないと、期待通りの月別集計を得ることは難しくなります。本記事では、月別集計がうまくいかない原因を切り分け、具体的な設定手順と失敗パターン、管理者への確認事項まで詳しく解説します。
【要点】この記事で確認すること
- 最初に見る場所: データベースの日付プロパティが「日付」タイプ(日付のみ)か「日付範囲(開始日・終了日)」かを確認。月別集計には「日付」タイプが基本。
- 切り分けの軸: 端末の表示問題(ブラウザキャッシュのクリア)、アカウントの権限(編集権限があるか)、ロールアップの関数とフィルター設定(dateRangeやmonth関数の使い方)の3軸で原因を特定。
- 注意点: 会社のワークスペーステンプレートを変更する前に、管理者に共有設定やデータベースの編集権限を確認してください。勝手に変更すると他のメンバーに影響を与える場合があります。
ADVERTISEMENT
目次
月別集計がうまくいかない原因の切り分け
月別集計ができない原因は、大きく分けて日付プロパティの設定ミス、ロールアップ関数の誤用、データベース間のリレーション不足の3つです。まず、どのデータベースで集計したいのか(例:タスクデータベースから月別の完了タスク数を出す)を明確にし、以下の手順で原因を特定します。
日付プロパティの種類を確認する
Notionの日付プロパティには「日付(日付のみ)」「日付範囲(開始日と終了日)」「日付(時刻あり)」の3種類があります。月別集計では通常「日付(日付のみ)」を使います。もし「日付範囲」を使っている場合は、どちらの日付を基準にするか(開始日 or 終了日)をロールアップの式で指定する必要があります。例えば「dateRange」関数を利用して月別にグループ化する際、開始日だけを見たい場合はprop("日付範囲").start.date()のように書きます。
ロールアップの関数選択とフィルター設定
ロールアップでは、集計対象のデータベースから値を取り出す関数を選びます。月別集計には主に「count」「sum」「average」などの関数を使いますが、値自体を月ごとに区切るには、ロールアップの「条件フィルター」で日付範囲を指定するか、ビューのグループ化機能を併用します。例えば、親データベースで「月」プロパティをロールアップで作成し、その月を参照して子データベースのレコードを集計する方法が一般的です。
失敗例として、ロールアップに「count」のみ設定し、日付フィルタを入れていないケースがあります。この場合、すべてのレコードを集計してしまうため、月別の数字になりません。必ずビューのフィルターか、ロールアップの条件で「日付が今月」などの指定が必要です。
日付プロパティの正しい設定手順
月別集計を実現するためには、まず日付プロパティを適切に設定する必要があります。以下に基本的な手順を示します。
- データベースのプロパティを開き、「+」ボタンから「日付」タイプを追加します。プロパティ名は「日付」など分かりやすいものにします。
- 作成した日付プロパティで、レコードごとに該当する日付を入力します。日付範囲が必要ない場合は「終了日を含める」をオフにしてください。
- 集計用の別データベース(親データベース)を作成します。これは月ごとに1行を持つテーブルです。例として「月別売上」データベースを新規作成します。
- 親データベースに「月」プロパティを追加します。タイプは「日付」で、その月の1日を入力するようにします(例:2025-02-01)。
- 親データベースと子データベース(売上レコードがある側)をリレーションで結びます。子データベースに「関連」プロパティを追加し、親の該当月を選択できるようにします。
- 親データベースに「ロールアップ」タイプのプロパティを追加します。リレーション先は子データベース、集計関数は「合計」や「カウント」など目的に応じて選びます。
この基本設定が完了すれば、親データベースで各月の集計値が自動的に表示されるようになります。ただし、正しく連携するためにはリレーションが正しく設定されていることが前提です。
ロールアップ関数の具体的な使い方
ロールアップの列では、計算式を使ってより細かい集計が可能です。特に月別集計では、日付の月を抽出する「month()」関数や「dateBetween()」関数を使うことがあります。ただし、ロールアップの計算式は限定的で、直接「month()」を使えるのはロールアップの中ではなく、データベースの「数式」プロパティです。そこで、以下のようなワークフローが考えられます。
数式プロパティを使った月別グループ化
子データベース側に、日付から月を抽出する数式プロパティを追加します。例として「月抽出」という数式プロパティを作成し、formatDate(prop("日付"), "YYYY-MM")と入力します。これで「2025-02」のような文字列が得られます。次に、この「月抽出」を親データベースのロールアップで「グループ化」することはできませんが、ビューのグループ化機能で「月抽出」を指定すれば、月別にレコードをまとめることができます。
ロールアップの条件フィルター
ロールアッププロパティには、集計するレコードを絞り込む「条件フィルター」がありません。その代わり、親データベースのビューでフィルター条件を設定します。例えば、親データベースのビューのフィルターで「日付が今月」とすると、今月のレコードだけが表示されます。この方法では一覧ビューで月別に見ることはできますが、月ごとに自動集計するには先述のリレーション+ロールアップが基本です。
ADVERTISEMENT
状況別:月別集計の比較表
| 方法 | メリット | デメリット |
|---|---|---|
| リレーション+ロールアップ | 月ごとに自動集計され、ビューを切り替える必要がない。 | 新しい月のレコードを手動でリレーションに追加する必要がある。 |
| 数式プロパティ+ビューのグループ化 | リレーション不要で、子データベース内で完結する。 | 月ごとの合計値を出すには、別途数式で集計する必要あり。 |
| データベーステンプレート+ボタン | 月次テンプレートを使って手動で集計可能。 | 完全自動化には向かず、手作業が発生する。 |
よくある失敗パターンと対処法
月別集計がうまくいかない典型的なパターンをまとめました。
- 日付プロパティに時刻が含まれている:日付範囲の終了日が意図せず設定されていると、月の判定がずれることがあります。「日付」プロパティを「日付のみ」に変更し、終了日を削除してください。
- ロールアップの集計関数が間違っている:合計したいのに「カウント」を選んでいると、レコード件数が表示されます。目的に応じて「合計」「平均」「カウント」を正しく選択しましょう。
- リレーションが1対多になっていない:親月に対して子レコードが複数ある場合、リレーションのタイプを「1対多」に設定してください。誤って「1対1」にすると1件しか関連付きません。
- ビューのフィルターとロールアップの数式が競合:親ビューに「日付が今月」フィルターをかけているのに、ロールアップの計算式で別の期間を指定していると結果が矛盾します。どちらか一方に統一します。
管理者に確認すべき設定
会社のワークスペースでNotionを使用している場合、以下の設定を管理者に確認してください。
- データベースの編集権限:月別集計用のデータベースを作成・変更するには「編集」権限が必要です。自分に権限がない場合は管理者にリクエストしてください。
- 共有設定:親データベースと子データベースが別のページにある場合、適切に共有されているか確認します。
- ロールアップの制限:Notionのプランによってはロールアップの数に制限がある場合があります。エンタープライズプラン以外でも上限が設定されているため、大量のロールアップを使用する前に確認しましょう。
- テンプレートの使用:テンプレートで月別データベースが提供されている場合、そのテンプレートの設定を変更する前に管理者へ相談します。
よくある質問
Q. 月別集計で先月のデータが反映されません。どうすればいいですか?
A. リレーションが正しく設定されているか確認してください。親データベースに先月の行が存在すること、その行に子レコードがリンクされていることが必要です。また、ビューのフィルターで「過去30日間」など期間制限がかかっていないかも確認しましょう。
Q. ロールアップの合計が表示されず、「NaN」と出ます。
A. NaNは数値以外の値が含まれている場合に発生します。子データベースでロールアップ対象のプロパティが数値型でない(例:テキスト型)可能性があります。プロパティタイプを「数値」に変更してください。また、空のレコードがある場合もNaNになるため、空欄を0に変換する数式(if(empty(prop("値")), 0, prop("値")))を子データベースに追加すると解決します。
Q. 月別ではなく四半期別に集計したいのですが、同じ方法でできますか?
A. 可能です。親データベースの「月」プロパティを「四半期」に変更し、例えば「2025-Q1」のような文字列を入力します。リレーションで各レコードを該当四半期にリンクすれば、ロールアップで四半期別集計が実現します。
まとめ
月別集計をNotionで行うには、日付プロパティの種類とリレーション、ロールアップ関数の正しい組み合わせが不可欠です。まずは日付プロパティを「日付(日付のみ)」に設定し、親子データベースのリレーションを構築した上でロールアップを追加してください。もし集計値が正しく表示されない場合は、本記事で紹介した失敗パターン(時刻の混入、関数の誤選択、リレーションのタイプミス)を一つずつ確認することで、大部分の問題は解決します。最後に、会社のワークスペースで設定を変更する前には必ず管理者に確認し、他のメンバーに影響が出ないように注意してください。これらの手順を踏めば、月別の売上やタスク進捗をNotionで効率的に管理できるようになります。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Outlook】メール本文が「文字化け」して読めない!エンコード設定の変更と修復手順
