11.1 プロパティ要素の分類
- データベースを取得したときの JSON オブジェクト(Property object)
- ページを取得したときの JSON オブジェクト(Property item object)
- データベースを設定するときの JSON オブジェクト (Property schema object)
- ページを追加・更新する時の JSON オブジェクト (Property value object)
- データベースを検索するための JSON オブジェクト (Property filter object)
11.2 Property object / Property schema object
プロパティ確認用11.2 で確認するプロパティ確認用データベースです。ブロックハンドル(6点メニュー)から「リンクをコピー」してプロパティ確認用データベースの URL に貼り付けてください。
プロパティ確認用データベースの URL を貼り付けます。
例: https://www.notion.so/hkob/7d16fe15159d40a6b6f8aab255c47e6f?v=7569e5029eb7450eaf6b7e6aae0df1c3
このデータベース URL を用いて、Ruby のデータベースオブジェクトを取得します。取得した JSON の中から
properties
キーオブジェクトを取り出しておきます。11.2.1 設定値がないプロパティ
JSON 部分をコピー&貼り付け
11.2.2 関数 (formula)
JSON 部分をコピー&貼り付け
11.2.3 セレクト (select) / マルチセレクト (multi_select)
JSON 部分をコピー&貼り付け
11.2.4 数値 (number)
JSON 部分をコピー&貼り付け
11.2.5 リレーション (relation)
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.2.6 ロールアップ (rollup)
JSON 部分をコピー&貼り付け
"function"
に利用可能な関数は以下の通りです。関数 | 日本語メニュー | 対象の型 | 返り値の型 |
count_all | すべてカウント | すべての型 | 数値 |
count_values | 値の数をカウント | すべての型 | 数値 |
count_unique_values | 一意の値をカウント | 数値・文字列・日付 | 数値 |
count_empty | 未入力をカウント | 数値・文字列・日付 | 数値 |
count_not_empty | 未入力以外をカウント | 数値・文字列・日付 | 数値 |
percent_empty | 未入力の割合 | 数値・文字列・日付 | 数値 |
percent_not_empty | 未入力以外の割合 | 数値・文字列・日付 | 数値 |
checked | チェックあり | ブール値 | 数値 |
unchecked | チェックなし | ブール値 | 数値 |
percent_checked | チェックありの割合 | ブール値 | 数値 |
percent_unchecked | チェックなしの割合 | ブール値 | 数値 |
sum | 合計 | 数値 | 数値 |
average | 平均 | 数値 | 数値 |
median | 中央値 | 数値 | 数値 |
min | 最小 (数値)
最も古い日付 (日付) | 数値
日付 | 数値
日付 |
max | 最大 (数値)
最も新しい日付 (日付) | 数値
日付 | 数値
日付 |
range | 範囲(数値)
日付範囲(日付) | 数値
日付 | 数値
日付範囲 |
show_original | オリジナルを表示する | すべての型 | 配列 |
show_unique | 一意の値を表示する | すべての型 | 配列 |
11.3 Property item object / Property value object
データベース内には二つのページが登録されています。このうち「データ1」ページへのメンションリンクをここに用意しておきました。このページを開き、page URL を取得してください。
データ1
プロパティ確認用ページの URL を貼り付けます。
例: https://www.notion.so/hkob/1-1771b75598ec478a98d3c64b1ae62846
このページ URL を用いて、Ruby のページオブジェクトを取得します。取得した JSON の中から
properties
キーオブジェクトを取り出しておきます。11.3.1 作成者 (created_by) /最終更新者 (last_edited_by)
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.3.2 作成日時 (created_time) /最終更新日時 (last_edited_time)
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.3.3 関数 (formula)
JSON 部分をコピー&貼り付け
11.3.4 ロールアップ (rollup)
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.3.5 チェックボックス (checkbox)
JSON 部分をコピー&貼り付け
11.3.6 日付 (date)
JSON 部分をコピー&貼り付け
11.3.7 メール (email)
JSON 部分をコピー&貼り付け
11.3.8 ファイル & メディア (files)
JSON 部分をコピー&貼り付け
11.3.9 マルチセレクト (multi_select)
JSON 部分をコピー&貼り付け
11.3.10 数値 (number)
JSON 部分をコピー&貼り付け
11.3.11 ユーザー (people)
JSON 部分をコピー&貼り付け
11.3.12 電話 (phone_number)
JSON 部分をコピー&貼り付け
11.3.13 リレーション (relation)
JSON 部分をコピー&貼り付け
11.3.14 テキスト (rich_text)
JSON 部分をコピー&貼り付け
11.3.15 セレクト (select)
JSON 部分をコピー&貼り付け
11.3.16 タイトル (title)
JSON 部分をコピー&貼り付け
11.3.17 URL (url)
JSON 部分をコピー&貼り付け
11.4 Filter object
11.4.1 存在・非存在条件
データベース Ruby オブジェクトから PropertyCache オブジェクトを取得しておきます。
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.4.2 一致・不一致条件
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.4.3 包含・非包含条件
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.4.4 開始・終了条件
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.4.5 数値の大小条件
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.4.5 日付の前後条件
日付系プロパティ(
date
, created_time
, last_edited_time
)のみ、日付の前後を比較するフィルタが利用できます。まず、特定の日付・時間の前後関係に関するフィルタとして、前(before
)、後(after
)、今を含む前(on_or_before
)、今を含む後(on_or_after
)が利用できます。これも日付の場合には、UTC になるので注意が必要です。せっかくなので、ここでは Timestamp filter object の例で説明しています。このように専用のプロパティを用意していなくても、データベースの作成時刻を使って絞り込みをすることが可能です。こちらも before
の結果のみ示します。JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
JSON 部分をコピー&貼り付け
11.4.6 関数(formula)に対する条件
JSON 部分をコピー&貼り付け
11.4.7 ロールアップ(rollup)に対する条件
一方、
show_original
や show_unique
の場合には、複数個の値が存在します。ロールアップの場合には、それらのどれかの値が該当するか (any
)、全ての値が該当するか (every
)、全ての値が該当しないか (none
) を確認することができます。例えばチェックボックスを複数個ロールアップしてきた場合を考えましょう。複数個存在するチェックボックスのいずれかにチェックがされているものを抽出する場合には以下のようになります。以下、サンプルデータのリレーション先のデータベース
この CHAPTER 内の SECTION
CHAPTER LIST