この記事では、ServiceNowでReference型のフィールドの検索で部分一致を実現する方法について解説します。
Reference型はデフォルトで先頭一致しかできない
Referenceのテーブルは、他のテーブルのデータを呼び出して入力できるとても便利なデータ型です。
例えば、国(core_country)テーブルがあったとして、Reference型ではなく自由入力にしてしまうと、アメリカを「USA」「America」など、エンドユーザーの勝手に入力されてしまいます。
そのデータが100件、200件と増えていくと、「アメリカが何件申請されたのか計測したい」などの要望が出た時にデータの表記を揃えるのに莫大な時間かかります。
ServiceNowのReference型を使って国テーブルを参照することで、そのテーブルに入っている192カ国のレコードのデータしか入力できなくなり、上記の表記ゆれの問題をあらかじめ防ぐことができます。
しかし、デフォルトの設定では、先頭一致しか候補に表示されず、ユーザビリティが良くないケースもあります。
部分一致を実現する流れ
- STARTSWITH検索を無効化
- フィルターナビゲーターに、
sys_properties.list
を選択 - glide.ui.ref_ac.startswithを検索
- Valueをfalseに変更
2. 対象テーブルのCONTAINS検索を有効化
- User Administration → User Preferencesを選択
- 左上のnewをクリックして、以下のように設定(今回はcore_companyテーブルの例)
以上です。
早稲田大学人間科学部情報科卒業。
(株)すららネットにてアジア向け算数デジタル教材の開発を経て、デジタルハリウッドのエンジニア養成学校G’s ACADEMYでプログラミング講座の新規立ち上げ、営業、教育を担当。3年半に渡り、中高大学生から社会人まで計6講座500名以上へプログラミングを教える。フリーランスエンジニアを経た後、現在は(株)メルカリのコーポレートエンジニアリング部に所属。Udemyにて2つのGoogle Apps Script講座を立ち上げ、1年半で登録者数は6000人を突破。
中高英語科教員免許保有 / IPA未踏アドバンスト’18 採択者。