NotionのFomulaで日付型と未入力を分岐で扱えるようにする - notebook
NotionのFomulaを使って特定の条件のときは日付、それ以外のときは未入力というのをやりたかったがさっとやろうとしたらエラーですんなり定義できなかった
具体的には下記のように日付型で
Term
、FomulaでCompletedAt
というカラムを用意Termがstart,end両方そろっている場合かつ1日以上経っている場合はendの日付をセットする、それ以外の場合は未入力ということをしたかった

最初下記のように式を書いた
Plain Text
エラー
が、うまくいきませんでした
- 三項演算子
Plain Text
- if
Plain Text
要は真と偽のどちらの場合でも型をあわせないといけないよう
end(prop("Term"))
をformatDate
で囲って文字列として扱えば両方文字列となるので未入力も表現できるが、Date型になっていないとグループ化を用いて日付範囲でグループ化できないので不便なのでなんとかDate型のままにしたい
ということで調べたらあった
fromTimestamp(toNumber(""))
とすることで未入力でもDate型として扱うことができるtoNumber("")
は数値型の戻り値だが見た目上は未入力として扱うことができるそれを用いて
fromTimestamp
に渡してあげることでDate型でも未入力という状態を維持できる解決
- 三項演算子
Plain Text
- if
Plain Text
これで冒頭のスクショの感じが再現できました
使い所それなりにありそうなのでメモとして残しておきます