前回サボってしまって書ききれなかった記事の続き。
まだまだ事例の少ないAppSheet。
逆引きリファレンス的ノウハウとして前回はExcelで言うところの「データの入力規則」、すなわちリストデータを保持しているテーブルを参照しプルダウンリストを作ったが、今回は「vlookup」、すなわち入力されたなにかしらの値にしたがって外部テーブルから値を取得して他項目の値を自動で埋める処理を実装する。
ちなみに前回の記事はこちら(マスタデータ参照編)。
他にもAppSheetの逆引きリファレンスを投稿してますのでよかったらご覧ください。
AppSheetの逆引きリファレンス
テーブル構成
再掲ですがテーブル構成。
会社マスタから会社名を引っ張ってくるようなケース。
company_code | company_name |
---|---|
1000 | 株式会社サンプルワン |
2000 | Sample 2, ltd |
・・・ | ・・・ |
deal_id | deal_name | company_code | company_name | amount |
---|---|---|---|---|
id_001 | サンプルアプリの構築 | マスタデータのコード値から選択 | 選択されたコードに該当する会社名を取得 | 1,000,000 |
入力されたコード値から名称を取得する
まずはテーブル。デフォルトの deal テーブルは以下の状態。
この company_code にコード値が入力されたら該当の company_name を company テーブルから自動取得する。
なお、company_code をプルダウンにしたくなるとおもうがそうすると前回の記事と内容が全く同じになるので(ry
company_name の FORMULA の欄をクリックして LOOKUP([_THIS].[company_code],"company","company_code","company_name")
と入力。
これで設定は完了。エミュレーターで確認してみる。
ふむ、できた。
でもこれ、使い道あるんかな?? LOOKUP
せずとも普通にREFさせた時点で、コード値じゃ無くて名前が返ってくるのでLOOKUPの処理も同時に行われているようなもの。
一生使い道ないんじゃないかと思ったり思わなかったり・・・
まぁなにはともあれ出来ましたとさ。