目次
レコード検索書式とは
Platioで保存したレコードから、あるフィールドの値を条件に指定して検索した結果のレコードのみを取得したいことがあります。Platioアプリとデータビューアーのレコードリストで、レコードを検索して絞り込みを行うことができ、検索条件を記述する書式をレコード検索書式といいます。
※レコードリストの検索対象は、1つのデータポケットのみです。複数のデータポケットを対象にして検索することはできません。
※検索では全角半角は区別されます。大文字小文字は条件によって区別の有無が異なります。
レコード検索書式の仕様について詳しくは、Platio開発者ドキュメント「レコード検索書式」を参照してください。
レコード検索書式を使う
Platioでは、下記の箇所でレコード検索書式を使って検索できます。
画面と手順は、各ガイドを参照してください。
①Platioアプリの一覧シーン
一覧シーンのプロパティの「絞り込み」と「定義済み検索条件」、検索バーに直接記述の3つの方法があります。検索バーにキーワードのみを入力した場合、検索可能なフィールド全て対象にキーワードが含まれるかの検索が行われます。絞り込みと定義済み検索条件はあらかじめPlatio Studioで条件を記述します。記述箇所は、本ガイド「7.1. 一覧シーンの設定」⑤⑥を参照してください。
検索方法は、Platioアプリガイド「7. 一覧シーンの検索」を参照してください。
②データビューアーのデータポケットのレコードリスト
書式を記述はしないでウィザードで検索条件を入力して検索書式を完成させます。検索バーにキーワードのみを入力した場合、検索可能なフィールド全て対象にキーワードが含まれるかの検索が行われます。
検索方法は、データビューアーガイド「3. レコードリスト」の「レコードの検索(絞り込み表示)」を参照してください。
③レコード選択フィールド
プロパティの「初期値」と「絞り込み」で、レコード検索を指定してあらかじめPlatio Studioで条件を記述します。記述箇所は、フィールドガイド「レコード選択」を参照してください。
検索対象のフィールドの設定
検索条件に指定するフィールドは、Platio Studioでのフィールドプロパティで「検索可能」をオンにします。検索可能になっていないフィールドは、検索対象になりません。
検索可能かどうかはデータポケット編集画面とミニアプリ概要から確認できます。
データポケット編集画面
ミニアプリ概要
※ミニアプリ概要は、データポケット一覧の右メニュー「ミニアプリ概要」で確認できます。
検索書式の記述方法
※検索書式の仕様は、開発者ドキュメントの「レコード検索書式」を参照してください。
全てのフィールドを対象に検索
検索箇所の検索バーで検索キーワードを入力して検索すると、検索可能なフィールド全てを対象に、入力したキーワードが含まれるかを検索します。キーワードの大文字小文字は区別されません。
特定のフィールドを対象にする検索
下記の書式で、特定のフィールドを対象に、入力したキーワードが含まれるかを検索します。キーワードの大文字小文字は区別されません。
検索するフィールドの名前コロン(:)または比較演算子検索するキーワード
【例】テキストフィールド「報告者」に”山田”のテキストが含まれるレコードを検索
報告者:山田
:や=の前後に空白文字を入れないようにご注意ください。空白文字を入れると異なる意味になります。
比較演算子を使用する検索
特定のフィールドに対象に、比較演算子を使って「等しい」「等しくない」「より小さい」「以下」「より大きい」「以上」を検索できます。キーワードの大文字小文字は区別されます。
比較 演算子 |
説明 |
= |
カラムの値が指定した値に等しい 【例】名=太郎 【結果】「名」フィールドで「太郎」のテキストに一致しているレコードが表示されます。 |
!= |
カラムの値が指定した値に等しくない 【例】場所名!=東京 【結果】「場所名」フィールドで「東京」のテキストに一致しないレコードが表示されます。 |
< |
カラムの値が指定した値より小さい 【例】温度<10 【結果】「温度」フィールドが「10」より小さい数値のレコードが表示されます。 |
<= |
カラムの値が指定した値以下 【例】湿度<=50 【結果】「湿度」フィールドが「50」以下の数値のレコードが表示されます。 |
> |
カラムの値が指定した値より大きい 【例】体温>36.7 【結果】「体温」フィールドが「36.7」より大きい数値のレコードが表示されます。 |
>= |
カラムの値が指定した値以上 【例】単価>=200 【結果】「単価」フィールドが「200」以上の数値のレコードが表示されます。 |
検索時のフィールド型
入力したキーワードはフィールド型と合わない場合、正しく検索されません。
例えば、検索バーに「5」の数値を入力して検索します。数値フィールドが検索対象の場合、数値フィールドに「5」の値が含まれているレコードが表示されます。日付フィールドが検索対象の場合、検索キーワードが日付型になっていないため、日付フィールドに「5日、15日、25日」のデータが存在しても検索結果としては表示されません。
フィールド型に合った検索書式について詳しくは、開発者ガイドの「レコード検索書式」の「値のマット」を参照してください。
フィールドの型 | 検索キーワードとの比較フォーマット |
テキスト |
キーワードをそのまま比較します。 |
数値 |
キーワードを数値に変換して比較します。 |
日時 |
キーワードをYYYY-MM-DD'T'HH:mm:ss.sss'Z'形式に変換して比較します。 |
日付 |
キーワードをYYYY-MM-DD形式に変換して比較します。 |
時間 |
キーワードをHH:mm:ss形式に変換して比較します。 |
選択 | キーワードを指定した値を各要素と比較します。 |
地図 | 検索アイコンで地図フィールドに登録している位置情報は検索できません。地図シーンを利用してください。 |
添付ファイル | キーワードを添付ファイルの名前を大文字小文字区別しないで比較します。 |
リーダー | キーワードをフィールドに登録しているデータをそのまま比較します。 |
レコード選択 | キーワードを参照先の値(選択したレコードの値)と比較します。 |
次に、主な例を説明します。
テキスト
キーワードをそのまま比較します。
氏名:山田
キーワードをYYYY-MM-DD'T'HH:mm:ss.sss'Z'形式に変換して比較します。
【例1】2020年6月20日のUTC5時20分28.108秒(日本の14時20分)以降の日時データが登録されているレコードを検索
日時>=2020-06-20T05:20:28.108Z
“+00:30” “-00:60”のようなキーワードを使用して30分後、60分前の検索もできます。
【例2】検索時間帯(現在時間)の2時間前より以降の日時データが登録されているレコードを検索
日時>-2:00
また、”today””tomorrow””yesterday”のような検索キーワードも利用できます。
【例3】検索日(今日)の0:00時以降の日時データが登録されているレコードを検索
日時>today
日付
キーワードをYYYY-MM-DD形式に変換して比較します。
【例1】2020年11月6日の日付データが登録されているレコードを検索
日付:2020-11-06
“+5” “-7”のようなキーワードを使用して5日後、7日前の検索もできます。
【例2】7日前より以降の日付データが登録されているレコードを検索
日付>-7
また、”today””tomorrow””yesterday”のような検索キーワードも利用できます。
【例3】検索日の1日前(昨日)の日付データが登録されているレコードを検索
日付:yesterday
【例4】今日より一週間分のレコードを検索
日付>=today 日付<=+7
時間
キーワードをHH:mm:ss形式に変換して比較します。
【例】12時10分以降の時間データが登録されているレコードを検索
登録時間>=12:10
ユーザー
キーワードをミニアプリのユーザー名と比較します。
【例】ユーザー名がstaff1で登録されているレコードを検索
ユーザー:staff1
また、”_self”のような検索キーワードも利用できます。
【例1】使用中のミニアプリにログインしているユーザー名で登録されているレコードを検索
報告者ユーザー:_self
値が登録されている(値が空ではない)
何らかの値が登録されている検索を行う場合、キーワードを指定しません。
【例】テキストフィールド「氏名」に値が登録されているレコードを検索
氏名!=
値が登録されていない(値が空)
何らかの値が登録されていない検索を行う場合、キーワードを指定しません。
【例】テキストフィールド「氏名」に値が登録されていないレコードを検索
氏名=
複数の条件を指定する場合は、空白文字に続けて記述します。
例えば、テキストフィールド「氏名」の値が空で、Aスイッチフィールドがオンのレコードを検索するには、下記のように記述します。
氏名= Aスイッチ=true
複数条件の検索
レコード検索書式で、複数の条件を指定することができます。
※書式については、開発者ドキュメント「レコード検索書式」の「複合検索」を参照してください。
全ての検索条件にマッチするには、空白に続けて検索条件を追加していきます。
例えば、Aスイッチフィールドがオン、Bスイッチフィールドがオフのレコードを検索するには、下記のように記述します。
Aスイッチ:true Bスイッチ:false
または
Aスイッチ=true Bスイッチ=false
いずれかの検索条件にマッチしするには、ORで検索条件を区切ります。
例えば、Aスイッチフィールドがオン、または、Bスイッチフィールドがオフのいずれかの検索条件にマッチするレコードを検索するには、下記のように記述します。
Aスイッチ:true OR Bスイッチ:false
または
Aスイッチ=true OR Bスイッチ=false