🧵

関連データベースのうち特定のSelectのものだけカウントするには?

属性名
学術論文数、国際会議発表数
返り値
Integer
逆引きNotionDB
関連するもの

解説

いつもと違って準備が必要なので、先に状況を説明します。
つい先日、研究業績のページを
📝
業績一覧
の形で Notion に移行しました。論文と著者のデータベースを分けていて、論文のページから著者にリンクを貼っています。論文の方は、種別や発表先で分類ができるのですが、共著者のページは特に属性もないので、一覧のページには論文のカウント数くらいしかデータがありません。
これだと寂しいなということで、論文全体だけのカウントだけでなく、学術論文や国際会議などの種類別のカウントもあればいいなと考えました。何かいい手はないかと Formula 関係を探していたところ、NorthSand さんのページで、人の数をカウントするという例がありました。この例では、「,」区切りの文字列から「,」以外の文字を消して、その長さを求め +1 するというものでした。
 
今回はサンプルではなく、実データでやってみました。手順をここに示しておきます。
  1. 関連する論文データベースから種別を Rollup してきます。この Rollup した属性は Formula から参照すると「,」区切りの文字列になります。
  1. 学術論文だけを抽出したいので、先に「1」に置き換えた後で、「1」以外の文字列を削除し、その長さを求めます。
    1. length(replaceAll(replaceAll(prop("種別"), "学術論文", "1"), "[^1]", ""))
  1. 同様に国際会議だけを求めたければ、以下のように文字列を書き換えるだけです。
    1. length(replaceAll(replaceAll(prop("種別"), "国際会議論文", "1"), "[^1]", ""))
 
実際に使った例はこちらにありますので、ご参考まで。