見出し画像

10/13/24 フェイクデータで体調管理




ジャンル:Notion

目標:Notionのページで体調管理を行う

とりあえず、形だけでも作ってみた。頑張ったのに可愛くない😭。ひとつのレコードを展開するページは、裸祭りみたいに下の方でしか飾れなくって、データベースの部分ではマルチカラム化もできないんだ。

単純なようで、かなり難しかった。

曜日を侮るなかれ

  • Notionのタイトルは、文字列のみなので、タイトルに日付の文字列を入れて、表示はされていないが、parseDate関数を使って、曜日に対応する数字に変換してから、let と ifs で曜日を起こす。let と ifs の関数は初めて使った。

let(曜日数,day(prop("日付変換")),
	ifs(曜日数==1,"月曜日",
		曜日数==2,"火曜日",
		曜日数==3,"水曜日",
		曜日数==4,"木曜日",
		曜日数==5,"金曜日",
		曜日数==6,"土曜日",
		曜日数==7,"日曜日",
		"unknown"))

数字の増減

  • 体重、体脂肪率、内臓脂肪レベルの変動は、当日と前日の数字をそれぞれロールアップで読み出し、結合させた。当日と前日の数字をひとつのレコードで読んで計算ができるということも知らなかった。リレーションもロールアップも同一レコード内でしか読み込めないと思い込んでた。

prop("前日体重")+"kg"+"→"+prop("当日体重")+"kg"

データを色分けするのは思ったより

  • 増えたり減ったりしたら、赤黄緑に色を変えて感覚的にわかるようにしようと思ったけど、なぜか数字じゃなくてリストに変換されているようで、もう少しややこしいことをしないと計算したり比較したりができないみたい。もうちょっと頑張る。

これは、過去にすでに苦労した

  • ファスティング期間を時分で表す計算も、lets 関数を使ったら若干楽にはなるんだけど、苦手だ。

lets(hours,dateBetween(prop("ファスティング終了"),prop("ファスティング開始"),"hours"),
	minutes,dateBetween(prop("ファスティング終了"),prop("ファスティング開始"),"minutes"),hours+"時間"+(hours*60-minutes)+"分")

リレーションにこだわり

  • ロールアップは単独の値しか読み込めないが、食事は複数回分を一箇所に読み込みたかったので、複数のタイトルを押し込めるリレーションのタイトルに内容を押し込んで誤魔化した。

まだ終わってない

  • あとは、ボタンやテンプレートを使って、複数データベースに迅速にデータ入力ができるように工夫したいが、まあ、当面は手間がかかっても入力ができる。

  • 実際の記述は、前日当日の数字が揃わないと表示しにくいので、3日後に開始することにする。

  • 簡単なことに苦労するのは、実は嫌いじゃない。😅

いいなと思ったら応援しよう!

ysowl
サポートしていただいたお金は、Noteでより密接な人の輪を作るきっかけに使わせていただこうと思います。よろしくお願いします。