前回までで支出側のデータベースが出来上がりました。
もうやることとしたら新しいことはないです。
収入側のデータベースを作っていきましょう。
今回は収入管理データベースです。
支払管理と重複する部分もあります。
収入管理DBの目的と項目の確認
このDBには、日々の収入が入力されて、データが溜まっていきます。
名称 金額 カテゴリー (必要があれば)登録する日付
これに加えて、集計用の列をくわえます。
・何月の収入か把握したいので、日付から1~12の月に振り分ける列
・当月の収入を抽出する列
他は必要に応じて入金の銀行やどこからの収入かを入力する列を作るか、の選択かな
仕上がりの確認
ここからDB_収入管理を選択します。

いまはこんなんですね

右の方にあるNewを押してください。


こんな画面ですね。プロパティが設定されていない空っぽの状態です。
ここから、こんな感じに仕上げます。
property(プロパティ)て何?

この辺から選んで、「列方向のデータはこういう内容だよ」って定義してあげます。
Notionのキモは、データベースと思ってます。
で、そのデータベースに入れる情報の種類をプロパティと呼びます。
上手く分けると、整理したり集計したりするのがとても便利
例えば小学校のクラスを管理するためのデータベースを作成した場合、生徒の名前や出席番号、国語や算数の成績など、それぞれの生徒についての情報をプロパティとして設定できます。
プロパティの設定はいろいろありまして。
例えば、テキスト、数値、日付、チェックボックスなどがあります。
まぁやっていけば分かります。
DB_収入管理のプロパティ設定
プロパティの設定方法はこんな感じ。
基本の設定方法

Add a propertyをクリック

いろいろと種類が出てきます。
とりあえずNumberを選んでください。

↑の画面が消えちゃったら
↓のあたりをクリックしてEdit propertyを選べば大丈夫

プロパティの種類ごとに設定できる内容は若干変わりますが、
細かな設定ですのでそんなに困ることはありません
RollupとRelationはちょいとムズイと感じる人もいます。
テーブル側の+のところで追加しても同じです。

収入金額の入力用プロパティ
ではやっていきましょう。
金額入力用。数字なので
Add propertyからNumber→format:Yen
どっかクリックしたりすると元の画面に戻ります。
すると

あとこのプロパティの名前をNumberからcashに変えておきます。

InputDateの設定
さかのぼって日付を入力したいこともあるかなってことで作ってます。
空欄にしといても大丈夫。
次のCreatedTimeで、レコードが登録された日が自動で入ります。
Add property → Date
→名前をinputDateに変えておきましょう
DateformatやTimeformatはお好みで。デフォルトのままでもOK
(やってもやらなくても)どこに入金されるかの設定
どこからの支払いか
どこに入るか
等、合わせて管理したい方は適したものを。
Add property → Select
このプロパティにしておくと便利。
最初にオプションで追加してもいいですし、随時足していっても
「2回目の時は選ぶだけ」ってできます。



見た目はRelationと似てますけど、どこかと連携させているわけではないです。
・入金先をデータベースで作る
・そことリレーションさせる
・銀行ごとの金額を集計したりする
・更に支払管理側にも作って、銀行DBで収支をとる
とかとか色々やろうと思うと、リレーションの方が良いです。
Created timeの設定
InputDateがない場合に集計するための、レコードが作られた日を記録するプロパティ
Add property → Created time
えらぶだけ。
実際の入力の時も、自動で登録されるので触ることはありません。
「InputDateが空欄だったら、Createdtimeから月を抽出、そうでなければInputDateを採用」する関数の設定
ハードル1つ目。
Fomula使います。
Add property → Fomula → Edit
→名前をregDateに変更
→式を入れる欄に
if(empty(prop("inputDate"))==true,formatDate(prop("Created time"),"M"),formatDate(prop("inputDate"),"M"))
を入力して、Doneをクリック

これは
もし(空かな?(inputDateの欄が) == 正しい ,
正しいならCreatedTimeを月表示 ,正しくないならinputDateを月表示)
て意味です。
ifはif(条件,正しい場合,正しくない場合)で動きます。
条件は「empty(空?)が==true」で、「空っぽなのが正しいか」です。
イコールは == で表します。
なので、imputDateが入っていたら、imputDateの月、入っていなかったら入力した月が採用されます。


カテゴリーの設定
Add property → Relation →DB_収入カテゴリーを選択
→Show on DB_収入カテゴリーには、チェックいれてください。
(収入カテゴリー側からRollupで集計するために必要です)
隠れてるかも。下画像のShow _ more みたいなのを押してみて下さい。
それでもなければ、連携したい先がデータベースになっているか確認してください。

→Add rerationをクリック

これを作ると、二つのデータベースが紐づきます。
で、どうなるかというと。プロパティにできている

ここのEmptyの所をクリックしてみてください。

こんなんなりますよね。
ここでカテゴリーを何か入れてみて下さい。
例えばName:バイト先Aからの支払い カテゴリー:給料 なら 「給料」を入れます。

ここで + New 給料 in DB_収入カテゴリー をクリックか、エンター

こんな感じに変わります。
一度手を止めて、DB_収入カテゴリーを覗いてみましょう。
すると

さっきいれた「給料」が追加されてるはずです。
そして上3行は空ですよね。
この3行が、さっき選んだ時の

このUntitledのことです。
試しに支出カテゴリーのUntitledに1つ設定してみましょう。今回は「不用品販売」にしてみます。
Nameを入れただけです。

もう一度DB_収入管理に戻りましょう。Newを押して登録しようとすると

支出カテゴリーを入れる時に、先ほどの不用品販売が増えていますね。
Untitledは2個に減っています。
こうやって、タイトル列と連携してくれるのがRelationです。
これは入力が便利なだけじゃなくて、集計にも使えるツワモノです。
先に収入カテゴリ側で選択肢を準備してもいいし、
運用しながらいいカテゴリを入力していって、統合したりしていっても大丈夫です。
個人的には随時増やしていけばいいんじゃない?って思います。
もし目標予算を設定するなら、事前にカテゴリー入れといた方が便利です。
今月の収入を抽出するための設定
今月の収入を抽出するのに、「今月のデータか、そうでないか」を判定するプロパティを設定します。今回は「金額を表示→収入カテゴリー側でロールアップ」とするので、金額表示します。
プロパティの名前はthisMonthに変えておきましょう

どうやって表示させるのかは後にして、「今月分かを分かるようにする」ところを中心に考えてください。
Add property → Fomula →Editで数式入力部分に次の関数を入れます。
if(formatDate(now(), "M") == prop("regDate"), prop("cash"), 0)
もしエラーがでたら、プロパティの名称、”regDate”や”cash”が一致していないかもしれません。
大文字か小文字か、とかですね。確認してみてください。
この関数は
もし今の月がregDateと同じだったら
正しい:cashに入ってる値を表示
正しくない:そうでなければ0を表示
ということです。
いまが4月だと、こんな感じになります。
4月設定は数字が出てますが、4月でない場合は0です。

収入が何月分かを振り分ける設定
次の12列をAdd property → Fomula → Edit→ 右側の関数貼付
プロパティ名 | 関数 |
1月 | if(prop(“regDate”) == “1”, prop(“cash”), 0) |
2月 | if(prop(“regDate”) == “2”, prop(“cash”), 0) |
3月 | if(prop(“regDate”) == “3”, prop(“cash”), 0) |
4月 | if(prop(“regDate”) == “4”, prop(“cash”), 0) |
5月 | if(prop(“regDate”) == “5”, prop(“cash”), 0) |
6月 | if(prop(“regDate”) == “6”, prop(“cash”), 0) |
7月 | if(prop(“regDate”) == “7”, prop(“cash”), 0) |
8月 | if(prop(“regDate”) == “8”, prop(“cash”), 0) |
9月 | if(prop(“regDate”) == “9”, prop(“cash”), 0) |
10月 | if(prop(“regDate”) == “10”, prop(“cash”), 0) |
11月 | if(prop(“regDate”) == “11”, prop(“cash”), 0) |
12月 | if(prop(“regDate”) == “12”, prop(“cash”), 0) |


上記のプロパティを1つ作り、Duplicate(複製)を利用すると少し楽です。
1月を2月に、”1″を”2″に変更してください。
そのまま12月まで作ります。

これはほとんど「今月の収入を抽出するための設定」と同じです。
「今月の収入を抽出するための設定」では「今」を「now()」で出して比較しています。
こちらでは「1月か」「2月か」を12月まで、12列作ります。
regDateを作る際にformatDateではなくMonthを使っておられる場合、
formatDate:1~12
Month:0~11
となるので気を付けてください。
12月分を打ち込むんでPriceに金額が入ると、次のようになります。

これで3月の収入は3月、4月の収入は4月の列に集まるようになりました。
この列を集計することで、月々の収入をまとめます。
ちなみに下段のCalculateで色々計算したりもできます。
データベース作成3回目 収入管理のデータベースを整えるまとめ
お疲れさまでした。
これで次のようになっているはずです。

ここの並びは自在に変えられます。

↑このハンドルをつかんで好きに並び替えましょう
さて次は収入のカテゴリー設定、最後のデータベースです。
あと少し頑張りましょう!
筆者を応援する
ご自身用やプレゼント用に上記リンクよりご購入いただけると、
額面の4%が紹介料として私に支払われます。ご負担はありません。
私宛にお送りいただけると、泣いて喜びながら
関連書籍の購入やサーバー費用に当てさせていただきます。
メッセージ欄に機能改善リクエスト等頂ければトライしてみます。
Notionで家計簿を作る講座リンク
はじめに:講座で作る家計簿の説明
Notionはそもそも家計簿作りに向いてるかの検討
家計簿を作る目的の設定をしよう
まずは必要な項目を決めよう
Notionへログインして、空のデータベースを作るところまで
支出管理データベースの設定:Relation,Formula
支出カテゴリーデータベースの設定:Rollup
収入管理データベースの設定
収入カテゴリーデータベースの設定
コメント