睡眠と理解
今、Notion で最も不可解だった部分を学んでいる。Roll-up の代わりにmap()関数をはじめとする配列関連(list)関数で連結データベースの全てのフィールドにアクセスする方法だ。
これらを使いこなせれば、Formula 2.0 の数知れない関数の大半が使えるように思える。
昨晩いくつか試してみたが、配列の操作は原則として簡単だった。しかし、例えば連結データベースの全てのフィールドが関連してくるとすると、恐ろしく細かいところまで手が届くと同時に、数式も長ったらしくなる。
データベースが複雑になり、フィールドの数が増えるとむしろ全体の理解が困難になる。それを防ぐために、データベースページに読みやすく簡潔に表示させる計算式を多用すれば、長い目で見ると使用効率が全く違ってくる。
一晩ぐっすり眠ったら、頭の中に基本的なアプローチがまとまっていた。
配列を扱う関数は
at
first
last
slice
concat
sort
reverse
join
split
unique
includes
find
findIndex
filter
some
every
map
flat
とこれだけあるが、どれを取っても理解できないものはない。朝一番で formula 2.0 の関数全てに目を通してみたが、その気にさえなれば、Notion で通常のデータベース言語の常識を超える非常に複雑な処理が可能になることがわかった。
僕が悩んでいた読みやすい管理表の作り方も、全て手が届きそうだ。
日常的に問題解決をしていた頃は、頭を悩ませながら一晩眠ると頭の中に答えが入っているという現象を体験したものだが、人生に余裕ができ始めた近来でそれを体験したのは久しぶりだ。
だからと言って、関数と数式をまとめるのに時間がかかることには変わりはない。
だんだんと慣れることでスピードも上がるだろうし、今作りたいと思っている数多くのデータベースの質も上げることができそうだ。