数式の書き方
Notionの式では、関数の開始と終了に () が使用されます。
abs(-20) /* 出力: 20 */
. を使用して書くこともできます。
-20.abs() /* 出力: 20 */
引数を区切るには , を使用します。
add(11, 13) /* 出力: 24 */
引用符 “ は文字列を表す場合に使用します。
join(["こんにちは", "世界"], " ") /* 出力: こんにちは 世界 */
+ は数値の加算と文字列の連結に使用します。
11 + 13 /* 出力: 24 */
"こんにちは" + " " + "世界" /* 出力: こんにちは 世界 */
三項演算子は if 関数の代わりに使用できます。
条件の後に、? を置き、true の場合の値と false の場合の値をコロン : で区切ります。
条件 ? trueの場合の値 : falseの場合の値
60 > 40 ? "はい" : "いいえ" /* 出力: はい */
if(60 > 40, "はい", "いいえ") /* 出力: はい */
Notionの数式内では、prop() 関数を使用して、同じデータベース内の他のプロパティからデータを参照することができます。
prop() を使用する場合は、プロパティ名を引用符(”)で囲みます。
prop("名前")
データベースのプロパティは特定のデータ型を出力します。 各プロパティのデータ型については、次の表を参照してください。
| プロパティ | データ型 | 備考 |
|---|---|---|
| タイトル | 文字列 | これは、すべてのデータベースに必要なデフォルトの「名前」プロパティです。 |
| テキスト | 文字列 | |
| 数値 | 数値 | |
| セレクト | 文字列 | |
| マルチセレクト | リスト | コンマ区切りの文字列を返します。 |
| ステータス | 文字列 | チェックボックスとして表示されている場合でも、文字列を返します。 |
| 日付 | 日付 | 日付範囲内の日付にアクセスするには、dateStart と dateEnd 関数を使用します。 |
| ユーザー | リスト | ユーザー型の配列を返します。 |
| ファイル&メディア | リスト | アセットのURLを配列で返します。 |
| チャックボックス | 真偽値 | |
| URL | 文字列 | |
| メール | 文字列 | |
| 電話番号 | 文字列 | |
| 数式 | 文字列、数値、真偽値、日付、リスト、ユーザー、ページ | 任意のデータ型を返すことができます。 |
| リレーション | リスト | ページを配列で返します。 |
| ロールアップ | 文字列、数値、日付 | |
| 作成日時 | 日付 | |
| 作成者 | ユーザー | |
| 最終更新日時 | 日付 | |
| 最終更新者 | ユーザー |
ロールアップに関する注意事項
数式で参照されるロールアップのデータ型は、次の両方に依存します。
- ロールアップが参照しているプロパティのデータ型
- ロールアップの計算設定
ロールアップの計算設定が「オリジナルを表示する」に設定されている場合、常に文字列値を出力します。
これは、ロールアップが複数のデータベース行のプロパティ値を表示できるためです。
「オリジナルを表示」が設定されている場合
- 数値型プロパティを対象とするロールアップは、数値文字列を返します(
toNumberを使用して変換が必要) - 真偽値型プロパティを対象とするロールアップは、
trueまたはfalseの文字列を返します - 日付型プロパティを対象とするロールアップは、日付を表す文字列が出力されます
「オリジナルを表示」以外の計算設定を選択した場合
- ロールアップが数値または真偽値のプロパティを対象としている場合、すべての計算設定で数値が出力されます
- ロールアップが日付型プロパティを対象としている場合、最も早い日付、最も遅い日付、および日付の範囲の設定によって日付が出力されます。日付範囲は開始日と終了日の療法を含む日付オブジェクトを出力するため、
dateStartとdateEnd関数を使用して参照できます。