🔗

Notion で通番を振るには?(オススメはしない)

属性名
ID
返り値
Integer
逆引きNotionDB
関連するもの
Reddit に通番を Formula で作成したという投稿があったそうです。興味があるので作ってみました。あまりに力技なのでオススメはしませんが、作りたい人の参考になればということで。
  1. 親のテーブルを準備します。
    1. 親のテーブル
      名前
      タグ
  1. 子のテーブルも準備します。作成日時の列を作ります。また、比較をするためにタイムスタンプに変換しておきます(作成日時数値)。さらに親へのリレーションを貼ります。
    1. 子のテーブル
      名前
      作成日時
      作成日時数値
      その他のもの
      Feb 21, 2022 11:06 PM
      NaN
      Feb 22, 2022 01:06 AM
      NaN
      Feb 21, 2022 11:54 PM
      NaN
  1. 親のテーブルに子のテーブルの作成日時数値のロールアップを作っておきます。
    1. 親のテーブル
      名前
      タグ
      子の作成日時数値一覧
  1. 子から参照できるようにロールアップを数式で参照しておきます。
    1. 親のテーブル
      名前
      タグ
      子の作成日時数値一覧
      子の作成日時一覧(参照)
  1. 子のテーブルに親の参照用作成日時のロールアップをさらにロールアップしてきます。
    1. 子のテーブル
      名前
      作成日時数値
      子の作成日時一覧(参照の参照)
  1. 子のテーブルで、作成日時数値を文字列に変換したものを探し、それより右側にある文字列を消します。残った「,」の数が自分より小さいものの数になります。そのため、+1 をすれば自分の番号が計算できるということです。オリジナルのものとは違う数式にしています。こっちの方が簡単。
    1. length(replaceAll(replace(prop("子の作成日時一覧(参照の参照)"), concat(format(prop("作成日時数値")), ".*"), ""), "[^,]", "")) + 1
      子のテーブル
      名前
      作成日時数値
      子の作成日時一覧(参照の参照)
      ID
  1. 入力してもらえるようにフィルタをかけた Linked Database を用意します。ID を一列目にして余計なものを見えないようにしておけば完成です。
    1. 子のテーブル