この記事の投稿日は、 2022/2/18 です。内容が古い可能性があります。
Notionのidを使ってテーブルのkeyにしてみた
Notionのテーブルで一意のKeyを振りたいときに使いました。日付から作る方法が検索すると出てきますが、できるだけ短く、作成順でソートする必要はないのであれば、pageのidをもとに一意のkeyを作るといいと思いました。
Notionのテーブルの形式でFormula
を選択して
"K-" + slice(id(), 0, 8)
と入力すると、 K-369cf258
のような形式になります。
大文字にしたい場合は、
"K-" + replaceAll(replaceAll(replaceAll(replaceAll(replaceAll(replaceAll(slice(id(), 0, 8), "a", "A"), "b", "B"), "c", "C"), "d", "D"), "e", "E"), "f", "F")
notionのpageIDはUUIDv4が使われていると思われます。 一様にランダムなIDが振られていると仮定して、page IDの前半8桁をもとに一意のKeyを作ってみました。
UUIDは充分にランダムな値として、IDが衝突してしまう可能性について考慮する必要があります。 今回の例では、UUIDの前半8桁を使っているため、約42億通りがあります。
42億通りあれば、衝突は発生しない用に思えますが、 誕生日のパラドックスがあり、直感よりも許容できる要素数は少ないと思います。
1000個程度の要素しかない場合、衝突可能性は数%程度だと思います。
IDを6文字や、4文字にもできますが、案外重複が起こりやすい点にご注意ください。