【Notion】年間スケジュールから日々の子タスクまで全てを管理する方法

# 内容

以下のように進捗グラフの有る年間スケジュールを作成し、
![nenkan.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/e2f6c9c0-2a31-d8c8-4cc9-491dc063ac15.png)

年間スケジュールに対応した子タスクを月ごとや一日ごとに管理できるようにするテンプレートを作成する手順を説明します。
![hibi1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/fa9a6665-210c-4cef-93c4-ae00ebf3b935.png)
![hibi2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/f890ef0e-0151-e921-123c-806e6c0b1e26.png)

年間スケジュールをNotionで管理する方法はよく見かけますが、複数のDBでデータが共有できておらず、一つタスクを入れるのに複数のDBに登録しなければいけないようなものが多かったため、適当に使ってもいいようなものを作っていきます。

# 構成
１年のスケジュール（年間目標）を入れていくデータベースと、日々の子タスクを管理するためのデータベースを作成して、それらを参照して月の目標や予定を管理するページを作成します。
![oo.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/f886d060-2156-987a-4596-1459b7632b5f.png)
# １年のスケジュール(年間目標)
年間スケジュール用のページをページを追加から作成します。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/33cfe7f4-19f7-e7c6-3197-c2374e156618.png)
作成したらタイムラインをクリックします。
![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/b987599e-8043-40f0-0791-33eac5cd0eee.png)
データソースなしとおそらく表示されるので、データソースを選択をクリックして出てきたメニューから新規データベースをクリックします。タイムラインビューがおそらく表示され、これが年間スケジュールとなります。![22.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/7d799f83-657b-1df9-8c98-92d5f2685da9.png)
こんなかんじでこっちはOKとりあえず年間目標を入れてみましょう

# 子タスク
今度は子タスクのデータベースを作っていきます。
先程と同様にページを追加から子タスクを作成。今度はテーブルにして新規データベースを作ります。とりあえず試すために適当に対応した子タスクを入れておきましょう。（プロパティはけしてます）
![23.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/4035015c-46fa-929b-4b22-d0d5438461e7.png)
進捗状況を管理するために、名前の横の＋ボタンからプロパティを追加します。名前は進捗状況としておきましょう。プロパティの種類からセレクトを選びます。適当にToDOとDoneを設定しましょう。![24.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/f395d7ba-3fbc-6315-286c-8cb839a5c6a8.png)
その後、新たにプロパティを作成します。プロパティ名は「完了」にしておき、プロパティの種類はアドバンスド＞関数を選びます。関数＞編集から、`(prop("進捗状況") != "Done") ? false : true`と関数を入力します。![2222.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/41b99c8c-5814-ab44-87b6-eb573a1a7744.png)
すると完了プロパティが進捗状況がDoneになればチェックが入っているのが確認できると思います。
次に子タスクと年間目標を関連付けていきます。


# 親タスクに進捗バーを追加
プロパティを追加＞アドバンスド＞リレーション＞一年間スケジュール　を選択します。名前は「親タスク」とでもしておきましょうか。これでプロパティから親タスクを子タスクに登録できるようになります。

![234.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/d378d3b5-6789-efd0-ae36-f756f0fbabb4.png)


ここで、年間スケジュールと関係させるために1年間スケジュールの方に戻ります。作業のためにビューを追加して年間スケジュールをテーブルで表示します。

プロパティを追加＞アドバンスド＞ロールアップ、リレーション＞子タスクとリレーション、プロパティ＞完了、計算＞チェックありの割合と選択していきます。名前は達成率としましょう。
![23232.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/1b70a515-2189-cb07-9a8b-5efb1b87db99.png)
これで小タスクの達成率が表示されます。

プロパティを追加し、アドバンスド＞関数を選択。名前は進捗バー。関数は`slice("▓▓▓▓▓▓▓▓▓▓", 0, round(prop("達成率") * 10)) + slice("░░░░░░░░░░", 0, 10 - round(prop("達成率") * 10)) + " " + format(round(prop("達成率") * 100)) + "%"`
にします。これで進捗バーが用意できたかと思います。
タイムラインビューに戻り、新規の左のボタンからビューのオプションを選択し、プロパティ＞
進捗バーの目ん玉アイコンをクリックしてタイムラインに可視化します。
![hoge.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/f4d1916f-df7d-f9ca-84b7-d618706450b6.png)
これで年間スケジュールと子タスクの大本は完成です。


# 月間スケジュールの管理
次に月間スケジュールの管理ページを作成します。
適当に名前は4月スケジュールとしておきます。
先ほどとは違い、空白ページを選択し、サブ要素としてデータベースを読み込みます。（/を入力して出てくるメニューから読み込みましょう。)データソースとしては一年間スケジュールを選択します。レイアウトはボードにしましょう。

一度1年スケジュールを見ます。ここで、プロパティを追加し、名前を月にでもしていきます。4月のプロパティをついかします。
![289.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/75fba348-a6c4-36d1-ca56-73c711648af6.png)


4月スケジュールの方に戻ります。タイムラインビューのフィルターを選択し、月＞4月を選択して4月のスケジュールのみを表示します。
また、ビューのオプションからプロパティ＞進捗バーを可視化
これで今月の目標がどれぐらい進んでいるかが見れます。
![890321980.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/e6456a39-a574-61f5-4af6-946ce6939efc.png)


その下にもう一つデータベースを追加し、ここはデータソースは子タスクとします。ビューはボード表示にします。また、サブグループを親タスクとします。するとこんなかんじになります。
![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/076d718e-ec4a-8cca-74d4-f4a13c9b6262.png)

次は今日のタスクを表示したいので、それを作ります。
ビューを追加でもう一つボードビューを追加し、ソースは同じく子タスクにします。
サブグループは削除しておきます。
一度子タスクを開き、
プロパティ「日付」を追加し、プロパティのタイプを日付にします。
また、プロパティ「今日」を追加します。関数を選択し、`formatDate(prop("日付"), "YYYY-MM-DD") == formatDate(now(), "YYYY-MM-DD")`と入力します。これで日付が今日ならばチェックがオンになります。
4月スケジュールにもどり、2つ目のボードビューからフィルター＞今日＞チェックボックスあり
これで今日の小タスクが追加されます。ここから今日の予定とかも追加できますね

最後に一番下にデータベース追加でカレンダービューを追加します。ソースは子タスクとします。
子タスクには日付が設定されていないので、日付なしのところから日を割り振っていけるので、まだ日付の決まっていないタスクはどんどんわりふっていってみましょう。
![oge.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611678/f5715416-fd20-4f10-7906-d0551e2522bc.png)


# 完成
これでいいかんじのスケジュール表が作成されるはずです。
自分はこれにとりあえず思いついたことを入れておく場所を作成し、寝る前とかにやる日を割り振っていくという感じにしています。

まだ運用して間もないのでおかしいところがある可能性もあるので、その場合は連絡していただけると幸いです。

# Reference
【Notion】進捗を可視化したガントチャートの作成手順-https://qiita.com/kaino5454/items/6be1cbe31efcce5f08f7