みやもとメモ

「Notion」「Google Apps Script」「ブログカスタマイズ」などについて書いていきます。

目次
目次

【Notion】3つの数式を1つにまとめる(lets関数活用:読書記録Notion)

この記事をシェアする

以下の記事で3つの数式を追加しました。

miya-moto-memo.hatenablog.com

上記の記事の「おわりに」でも触れたのですが、「3つの数式を1つにまとめられるかも?」となり、試してみたのが今回の記事です。

3つの数式をまとめることで複雑になるかな…と思ったのですが、lets関数を活用することで複雑にならずにまとめることが出来ました。

今回の記事では、その辺りに関して書いていきます。

それでは本題へ。

変更前後(画像)

まずは変更前後の画像を載せます。

変更前

変更前

変更後

変更後

こんな感じです。

見た目的には「リンク数_カウント」「読んだ_カウント」の2つのプロパティを非表示にしただけのように見えますが、3つの数式を1つにまとめています。

変更前後(数式)

変更前後の数式も載せます。

変更前

リンク数_カウント

prop("読書記録").length()

読んだ_カウント

prop("読書記録").map(current.prop("ステータス")).filter(contains(current, "読んだ")).length()

読了率

round(prop("読んだ_カウント")/prop("リンク数_カウント")*100)/100

変更後

読了率_まとめ

lets(
	リンク数_カウント, prop("読書記録").length(),
	読んだ_カウント, prop("読書記録").map(current.prop("ステータス")).filter(contains(current, "読んだ")).length(),
	round(読んだ_カウント/リンク数_カウント*100)/100
)

こんな感じです。

3つの数式を、lets関数を活用して1つにまとめています。

変更前後の数式を見比べると、lets関数の仕様が伝わるかなと思います。

数式について

様々な関数を使用していますが、length・map・filter・contains・round関数は前回の記事で説明しているため割愛します。

前回の記事の説明部分をリンクしておきます。

関連記事

今回の記事ではlets関数について説明していきます。

まずは関数の説明を、Notion公式ページから抜粋します。

プロパティ名 説明
lets 複数の変数に値を代入し、それらの変数を使用して数式を評価します。 lets(a, "Hello", b, "world", a + " " + b) = "Hello world"
lets(底辺, 3, 高さ, 8, 底辺*高さ/2) = 12

詳しくはNotion公式ページを見て頂ければと。
※以下リンクの「関数」の見出しに詳細が書かれています。v
www.notion.so

おわりに

ということで、「【Notion】3つの数式を1つにまとめる(lets関数活用)」に関してアレコレ書いてみました。

記事にしてみて思ったのですが、変更前の方が分かりやすい場合もありそうです。
「リンク数が○件」「読んだ本が○件」という情報が見えるため、そういった情報も知りたい場合は変更前の方が良さそうです。

また、見る必要のないプロパティを非表示にする方法もあります(非表示にしても数式自体は機能する)。

とはいえ、そうやって数式を増やしていくと管理が煩雑になります。
そういった場合は、今回のように複数の数式を1つにまとめる方法もアリかなと思います。

途中経過の数式のデータが見たいかどうかで、変更前後のどちらで対応するか判断するのも良さそうです。

この記事が参考になれば幸いです。

関連記事

Notionの数式・関数についてはいくつか記事にしています。
気になる記事があればぜひ。

TOPへ戻る HOMEへ