ブログ

ルックアップ拡張の独自ダイアログを使って大量データの絞り込みをしてみよう

kintone の標準のルックアップについて

kintoneの重要な機能としてルックアップがあります。ルックアップは参照先アプリのレコード数が少ない場合はスクロールで選択対象を選べばよいですが、数が多くなってくるとスクロールで探すのは大変です。そのため、絞り込みの設定を入れることで選択肢を減らしてから選択を行います。3万点ある自動車部品をルックアップで絞り込むユースケースで考えてみます。(データはサンプルです)

絞り込み漏斗マークを押すと条件とソート設定が出てきます。条件をセットすることで選択する対象を絞り込みます。

フォームの編集画面で絞り込みの初期設定設定として値を指定することができます。あらかじめ絞り込む条件値が決まっている場合は便利です。

このように絞り込む設定をするのに何クリックも必要となり、データが絞り込めたかどうか確認するのに画面を行ったり来たりするため手間がかかります。大量データの絞り込みでストレスを感じている場合は、ルックアップ拡張プラグインの独自のダイアログを使用するのがおすすめです。

ルックアップ拡張プラグインについて

ルックアップ拡張プラグインの独自ダイアログを使うと、ダイアログの上部に表示フィールドごとに追加されたフィルターのコンボボックスに値を入力し、選択肢を見ながら絞り込むことができるため、数万レコードあるマスターをルックアップする際に、絞り込むことが簡単になります。(バージョン1.7.0で独自ダイアログでの大量のレコードの読み込みに対応しました)

独自ダイアログのフィルター動作について

大量のレコードがある場合、独自のダイアログが開いてからも追加でレコードの読み込みが行われますが、フィルターもこれに対応した動作をするようになっています。

  • フィルターの検索ボックスにキーワードを入力した状態のときに、追加で読み込んだレコードのフィールド値がキーワードにマッチする場合はドロップダウンリストに追加表示
  • フィルターで選択したフィールド値に対して、追加で読み込んだレコードのフィールド値が一致するものはレコードのリストに追加表示

このように、レコードの読み込み途中でもフィルター操作ができ、とても便利です。

また、独自ダイアログのフィルターの標準の動作では、コンボボックスのドロップダウンリストにすべての選択肢の候補が表示されますが、追加でレコードを読み込むと、選択肢を追加で表示していきます。

しかし、この動作は負荷が高いためフィルターの検索ボックスにキーワードを入力したときにはじめて選択肢をドロップダウンリストに表示する、「動的検索フィルター」機能を追加しました。「動的検索フィルター」を使用すると、レコードの読み込み速度が上がり、ダイアログの動作もスムーズになります。

レコードのフィールド値による絞り込み

さらに、ルックアップダイアログの立ち上げ時にレコードのフィールド値を絞り込み条件として利用できます。以下の例ではテーブルにあるルックアップ取得時に「発注先コード」で絞り込んだ内容がポップアップダイアログに上がります。

ルックアップ拡張プラグイン設定

ルックアップ拡張プラグインの設定をみていきましょう。ルックアップ拡張プラグインの設定画面で設定対象のフィールドの「設定」をクリックしてください。

そして、「フィールド値による絞り込み」の条件を追加します。
ルックアップ先のフィールドレコードのフィールド(テーブル以外)の関係を指定します。

演算子は、等しい、等しくない、次のキーワードを含む、次のキーワードを含まない、次のいずれかを含む、次のいずれかを含まないの6つあります。組み合わせることで柔軟に絞り込みを定義できます。
これで、フィールドの値が絞り込みの初期値として絞り込んだ状態でルックアップのポップアップダイアログが開きました。そして、フィールドの内容をドロップダウンで絞り込むことができます。

設定ダイアログの「独自ダイアログを使用する」にチェックを入れます。「独自ダイアログのフィルターの動作を動的フィルターにする」にチェックし、「独自ダイアログ使用時に関連アプリのレコードをキャッシュする」をチェックします。キャッシュは数万を超えるレコードがマスターにある場合でサブテーブルにルックアップを設定しているような場合に特に便利です。
 

大量データの絞り込みに時間をかけている場合には非常に有効ですので試してみてください。

ブログ一覧に戻る