Notionで日記DBの作成
はじめに
去年からNotionで日記DBを作ろうと試行錯誤していたが、やっと一定の形が出来上がりつつある。自己満足の極みだが、Notionのオートメーションや関数設定の参考になるかもしれないと考えたので、これまでの試行錯誤をメモとしてまとめておく。
DBの構造
DBは大きくDiary、Weekly、Monthlyの3つとする。
これは以前有料で購入してみた【Notion手帳】の構造を参考にしている。
各DBの構造は次の通り。
Diary
Diaryのプロパティは次の通り。
- 日付
- 毎日のDoToのプロパティ(薬飲んだかとか、運動したか、酒飲んでしまったかとか…) ちなみにやったかやらなかったかはIn Progressで管理している。これはやったことが必ずしも良いこと(酒飲んだがいい例)とは限らないため、Yes/Noに個別の意味づけをするためである。
- WeeklyとMonthlyのリレーション ToDoを週、月で集計するためにリレーションを設定する。このリレーション、便利なのだが整合をとるのが非常に面倒。まともに使いこなせていなかったが、後述のオートメーションでなんとか整理しやすい形を作ることができた。
ちなみに、日記本文はプロパティとは別で本文のブロックで書くこととした。
プロパティの1つとして管理する方法もあり、DBとしてはそちらが正なのだが、多様な書式が使えなのと視認性に欠けるのでDBの外枠でページの本文で管理することとした。その代わり、本文は1つの同期ブロック内に書くルールとしている。これは、Weeklyで毎日の本文を引用したいからである。
Weekly
Weeklyのプロパティは次の通り。
- 日付(範囲で該当の週を定義)
- 毎日のDoToのプロパティの集計結果
- Diaryとのリレーション
Weeklyは主にDiaryの当週の集計結果がメイン。
集計結果だけだと味気ないので、日記本文の同期ブロックを貼り付けて1週間の日記をまとめて表示できる形にした。ただし、日記のまとめがオートメーション化できず手作業なのでここはなんとかしたい。
Monthly
Monthlyの使い方はWeeklyとほぼ同じ。プロパティは次の通り。
- 日付(範囲で当月を定義)
- 毎日のDoToのプロパティの集計結果
- Diaryとのリレーション
Monthlyは主にDiaryの当週の集計結果がメイン。
Monthlyには日記の集約はしていない。別途当月の目標・結果をまとめる予定だが、そこまでは作り込んでいない。
Diary、Weekly、Monthlyのオートメーション
3つのDBのリレーションは以前有料で購入した【Notion手帳】にあったものである。これ自体は良い考え方と思っているが、この毎日の決まったプロパティの設定とDB間のリレーションの設定が非常にめんどくさい。そのため、これをなんとかして自動化できないものかとずっと考えていた。
結局昨年から四苦八苦していたが、Notionのオートメーションを活用して次の形に落ち着いたのでまとめておく。
Monthlyの自動化
Monthlyについてはタイトルと期間の設定をオートメーション化し、ページ作成時に自動で設定するようにした。設定したオートメーションのアクションは次の通り。

タイトルの設定
関数で次の値を設定。これで “2025/02” といった今月のタイトルでページを作成できる。このコードは非常にシンプル。
期間の設定
関数で次の値を設定。これで “2025/02/01~2025/02/28” といった今月中を期間として設定できる。
Weeklyの自動化
WeeklyについてもMonthlyと同様、タイトルと期間の設定をオートメーション化し、ページ作成時に自動で設定するようにした。設定したオートメーションのアクションは次の通り。

タイトルの設定
関数で次の値を設定。これで “2025/02/03 - 2025/02/09” という月曜~日曜までの日付を設定したタイトルでページを作成できる。
期間の設定
関数で次の値を設定。これで “2025/02/03~2025/02/09” という今週中を期間として設定できる。
Diaryの自動化
Diaryについてはタイトルの設定と、Weekly、Monthlyをオートメーション化。そして、ほかと同様ページ作成時に自動で設定するようにした。ちなみに、日付の設定はオートメーションではなく、ページのテンプレートで指定している。
設定したオートメーションのアクションは次の通り。

タイトルの設定
関数で次の値を設定。これで “2025/02/09(日)” という日付&曜日を設定したタイトルでページを作成できる。
リレーションの設定
フィルターで期間が本日のページを抽出した上、Weekly、Monthlyのプロパティに作成するページを参照として追加。
最後に
これで形になってきたので当面はこれで使ってみる。
使っているうちに改善点は出てくるかもしれないが、そのときはそのときでできる範囲で改善しよう。