引数なしの empty() 関数による空値作成 : hkob の雑記録 (316)

はじめに

hkob の雑記録の第316回目は、Notion 数式における引数なしの empty() 関数を紹介します。

以前の空の値を作成する方法

数式を編集している時に、条件を満足しないときに空欄にしたい場合がよくありました。文字列の場合、条件を満足しない時には単に "" とすることで空の文字列を作成することは簡単でした。しかし、数式の場合 条件 ? 数値 : "" のようにすると、条件によって型が変わってしまいエラーになってしまいます。これまでは、この式を 条件 ? 数値 : "".toNumber() のように記載していました。

日付の場合にはさらに大変で、 "".toNumber().fromTimestamp() のようにする必要がありました。ただ、空値を設定したいというだけで、このような式を書かなければならないのは大変でした。

empty(value?) 関数

これまで、 empty(変数) という関数がありました。この説明には「値が空の場合はtrueを返します。0、“”、[]は空とみなされます。」という説明が書かれていました。先月になり、この関数の説明が empty(value?) という表記に変わり、説明文が「指定した値が空の場合はtrueを返します。引数を指定しない場合は、空の値を返します。空の値には、0、””、false、[]、および空白のプロパティが含まれます。」と変更になっていました。

この変更を受けて、逆引き Formula 2.0 の empty のページを修正しました。

hkob.notion.site

確認用のデータベースは以下のように作成しました。

確認用のデータベース

型で異なることを確認するために 3 つのプロパティを用意しています。最初は文字列の確認です。種類が「テキスト」になっていることが確認できます。

種類が「テキスト」

相手が数字であれば、種類が「数値」に変わっています。

種類が「数値」

当然相手側が now() のように日付データであれば、種類が「日付」になっています。

image.png

今日、この件をポストしましたが、やはり困っていた人は多かったようです。

種類が「日付」

おわりに

今回は、empty() で空値が作成できることを解説しました。これまで空値をあちこちで使っていたので、見つけたら empty() に変更していこうと思います。

hkob.notion.site