今回は、他のアプリからデータを自動取得してくれる「ルックアップ」の使い方を紹介していこう。この機能は、「顧客リストから住所や電話番号を取得する」「商品マスタから商品コードや価格を取得する」などの用途に活用することが可能だ。kintoneを運用するにあたって欠かせない機能となるので、必ず使い方を覚えておこう。→連載「kintoneでゼロから始めるノーコード開発」のこれまでの回はこちらを参照

ルックアップの概要

ルックアップは、他のアプリに登録されているデータを自動取得してくれる機能だ。例えば、「会員名簿」の中から該当するユーザーを検索して、そのユーザーの「住所」と「電話番号」を取得する、などの用途にルックアップを活用できる。

  • ルックアップでデータを自動取得

文章だけでは理解しにくいと思うので、具体的な例を示しながら「ルックアップ」の概要を説明していこう。

以下の図は、取引先からの注文内容を記録する「受注伝票」のアプリをkintoneで作成した例だ。「商品名」に適当なキーワードを入力して「Enter」キーを押すと……、

  • 検索用のキーワードを入力

そのキーワードが「商品名」に含まれるデータが一覧表示される。この中から探している商品の「選択」ボタンをクリックすると……、

  • キーワードに合致する候補の一覧

入力したキーワードが正しい「商品名」に置き換えられ、さらに「入数」や「単価」のデータも自動的に取得される。

  • ルックアップによるデータの自動取得

このように、適当なキーワードで検索するだけで“該当するデータ”を自動取得してくれる機能が「ルックアップ」となる。

参考までに、自動取得されるデータが登録されているアプリについても紹介しておこう。今回の例では、「商品価格表」というアプリからデータを自動取得するようにルックアップを設定している。

  • データの取得元アプリ

上図を見ながら、“ファイル”のキーワードで検索したときの動作の流れを確認しておこう。

(1)“ファイル”のキーワードでデータを検索する
(2)「商品名」に“ファイル”の文字が含まれるデータが一覧表示される
(3)この中から「ディスクファイル(48枚)」を選択する
(4)「商品名」が「ディスクファイル(48枚)」に置き換わる
(5)さらに、選択した商品の「入数」と「価格」のデータが自動取得される

このように、ルックアップを使うと、該当するデータを自動取得できるようになる。

ルックアップを使用しなかった場合は、「商品名」のデータを正しい名称で入力し、さらに「入数」や「単価」のデータを自分で調べて入力する、という作業を行わなければならない。そのつど商品データを確認しながら入力作業を進めていく必要があるため、それなりに面倒な作業が発生すると考えられる。また、人間が行う作業になるため、データの入力ミスを犯してしまう可能性も否定できない。

一方、ルックアップを使用した場合は、適当なキーワードで検索するだけで、正確な「商品名」、「入数」、「単価」を自動入力することが可能となる。つまり、データ入力の手間を軽減し、同時にデータの入力ミスを回避する、といった2つの恩恵を受けられることになる。業務を少しでも効率化したいのであれば、「ルックアップ」は必ず覚えておくべき機能といえるだろう。

ルックアップの設定手順

ということで、アプリに「ルックアップ」の機能を追加するときの操作手順を解説していこう。まずは、キーワード検索用の入力欄を配置する。この入力欄は「ルックアップ」のパーツをドラッグ&ドロップして配置すればよい。今回の例では「テーブル」の中に「ルックアップ」を配置した。

  • 「ルックアップ」フィールドの配置

続いて、ルックアップによりデータが自動取得されるフィールドを配置する。一般的に、数値データを取得する場合は「数値」フィールド、文字データを取得する場合は「文字列(1行)」フィールドを配置しておけばよい。フィールドを配置できたら、「フィールド名」や「単位記号」などの設定を済ませておく。

  • データが自動取得されるフィールドの配置と設定

次は、ルックアップの動作を設定していく。「ルックアップ」フィールドにマウスを移動し、「歯車」アイコンから「設定」を選択する。

  • 設定画面の呼び出し

「ルックアップ」フィールドの設定画面が表示されるので、「フィールド名」に適当な文字を入力する。続いて、以下の手順でルックアップの動作を指定していく。

(1)データの取得元となるアプリを選択する。「関連付けるアプリ」の項目をクリックし、既存のアプリの中から“データの取得元となるアプリ”を選択する。今回の例では「商品価格表」のアプリを選択した。もちろん、このアプリは事前に作成しておく必要がある。

  • 「フィールド名」と「関連付けるアプリ」の指定

(2)“キーワード検索に用いるフィールド”を指定する。今回の例の場合、「商品名」でデータを検索するので「商品名」のフィールドを選択する。

  • 検索に用いるフィールドの選択

ここからは、データの自動取得に関する設定を行っていく。左側のボックスに「データが自動取得されるフィールド」(データの取得先)、右側のボックスに「どのフィールドからデータを取得するか?」(データの取得元)を指定する。

(3)「左側のボックス」をクリックし、データの取得先にするフィールドを選択する。

  • データの取得先フィールドの指定

(4)「右側のボックス」をクリックし、データの取得元となるフィールドを選択する。

  • データの取得元フィールドの指定

(5)自動取得されるデータが2つ以上ある場合は、「+」アイコンをクリックして項目を追加し、(3)~(4)の手順を繰り返して「取得先」と「取得元」のフィールドの対応を指定する。

  • 取得先フィールドと取得元フィールドの追加

(6)検索結果の画面に表示するフィールドを指定する。キーワード検索に用いるフィールド(今回の例では「商品名」)のほかに、検索結果として表示したいフィールドがある場合は、ここで表示するフィールドを追加する。今回の例では「入数」と「価格」のデータを表示するように設定した。

  • 検索結果に表示するフィールドの指定

そのほか、検索結果の「絞り込み」や「ソート」(並べ替え)に関する設定も行えるようになっている。これらは必要に応じて設定するとよいだろう。すべての設定が済んだら「保存」ボタンをクリックする。

  • 設定の保存

以上で、ルックアップの設定は完了。設定すべき項目は多めだが、特に難しい点は見当たらないので、落ち着いて作業を進めていけば問題なく設定を終えられるはずだ。最低限、設定すべき項目は以下の3つとなる。

・関連付けるアプリ(データの取得元となるアプリ)
・コピー元のフィールド(キーワード検索に用いるフィールド)
・ほかのフィールドのコピー(データの「取得先」と「取得元」の対応)

上記の3項目以外は、必要に応じて設定を行えばよい。

取得したデータを使った計算

「ルックアップ」により取得したデータをもとに、さまざまな計算を行うことも可能だ。ここでは、取得した「入数」と「単価」をもとに「商品数」と「金額」を自動計算してみよう。ちなみに「入数」とは、“1つの段ボール箱に梱包されている商品の数”を示している。ケース買いするときの“最小ロット”と考えてもよいだろう。

まずは、必要となるフィールドを配置する。注文数を入力する「数量」は「数値」フィールドで作成し、「商品数」と「金額」は「計算」フィールドで作成する。その後、各フィールドの「フィールド名」や「単位記号」などの設定を済ませておく。

  • フィールドの追加

続いて、計算時に参照するフィールドに「フィールドコード」を指定する。今回の例では、以下の図のようにフィールドコードを指定した。なお、フィールドコードについては第7回で詳しく解説しているので、よく分からない方は先に一読しておくとよいだろう。

  • フィールドコードの指定

あとは「計算」フィールドに計算式を入力するだけ。それぞれの「計算」フィールドの設定画面を開き、以下のように計算式を記述する。

・商品数 ………… 入数*数量
・金額 …………… 単価*数量

  • 計算式の指定

これで自動計算に関する設定は完了だ。「アプリを公開」ボタンまたは「アプリを更新」ボタンをクリックしてアプリの編集を終了する。

  • アプリを公開(アプリを更新)

動作の確認

先ほど編集したアプリの動作を確認しておこう。データの入力画面を開き、「商品名」の項目に適当なキーワードを入力する。例えば、“ケーブル”と入力して「Enter」キーを押すと……、

  • 検索用のキーワードを入力

「商品名」に“ケーブル”の文字が含まれるデータが一覧表示される。この中から該当する商品の「選択」ボタンをクリックする。

  • 検索結果からデータを選択

「商品名」が正しい名称に置き換えられ、「入数」と「単価」のデータが自動取得される。

  • ルックアップによるデータの自動入力

続いて、「数量」の項目に数値データを入力すると、「商品数」と「金額」が自動計算される。

  • 「数量」の入力(商品数、金額の計算結果)

同様の手順を繰り返して、テーブルの2行目以降にデータを追加していくことも可能だ。必要となる作業は、適当なキーワードで「商品名」を検索して「数量」を入力するだけ。これで各項目にデータを入力できる。

  • テーブルの2行目にデータを入力した例

念のため、先ほどのデータを閲覧したときの画面も紹介しておこう。データの閲覧時は、以下に示したような画面が表示される。

  • フォーム画面でデータを閲覧

なお、今回の例では各行の「金額」だけを計算しているが、これらを合計した「税抜合計」や「消費税」、「税込合計」などをkintoneに自動計算させることも可能だ。これについては、第7回で詳しく紹介しているので、まだ読んでいない方は一読しておくことをおすすめする。

今回の例では、「商品名」と「入数」、「数量」のデータを「商品価格表」のアプリから自動取得したが、他の項目についてもルックアップを活用することが可能だ。例えば、商品の納入先をまとめた「納入先一覧」のアプリを作成しておけば、「顧客名」でキーワード検索して「TEL」、「郵便番号」、「お届け先住所」のデータを自動取得する、といった動作も実現できるようになる。

ルックアップはデータベースの運用に欠かせない機能といえるので、この機会に上手な使い方を研究しておくとよいだろう。むしろ、ルックアップを使用することを前提に各アプリを設計していくのが“基本的な考え方”といえるかもしれない。