AppSheetやってみた#3〜選択入力項目で「Enum」と「Ref」を使い分けてみる
今回は超久しぶりにAppSheetに再チャレンジしてみます。なんと「AppSheetやってみた」は#2で止まっていました・・・・。
今回再開した理由はRPACommunityで2023年12月9日に行われた「初心者向け|GoogleのAppSheetを使ってアプリ作りに挑戦【イチから解説】」に参加して知見が一気に広まったので復習も兼ねてもういっぺんやってみることにしました。
選択項目の使いかた
「選択項目」は入力項目(カラム)のうち、利用者とは別の人(管理者や開発者)が予め用意した選択肢から選ぶことにより入力する項目です。
選択項目により利用者は入力の手間が省け、データを活用する人から見れば入力されたデータの精度を向上させる(間違えが少なくなる)事ができます。
使う側にも管理する側にも非常にメリットがあるこの「選択項目」には2つのパターンがあります。
アプリ組み込みタイプ
これは選択肢をアプリ(プログラム)の中で設定する方法です。アプリの開発者が設定やプログラムの中ですべての選択肢を直接書き込みます。
メリット
・簡単に実装できる
デメリット
・開発者でなければ変更・追加ができない
・選択肢の数に制限がある
マスタデータタイプ
こちたはメインのテーブルの他に選択肢が入力されたテーブル(マスタテーブル)を準備して、そこから利用者が選択するタイプです。
メリット
・開発者以外でも簡単にメンテナンスできる
・数に制限がない
デメリット
・準備はちょっとめんどうくさい
・少しシステムが複雑になる
AppSheetにおける選択項目
Appsheetはデータソースに密接に関係したアプリを開発するノーコード開発ツールです。
AppSheetで「選択項目」を作るには「data」のデータ項目を編集することになります。そもそもAppSheetには「フォーム」という概念はありません。
使える「選択項目」はデータ項目の「Type」で設定することになりますが、ここでの選択肢は2つあります。
Enum:アプリ組み込みタイプ〜編集画面で設定します
Ref:マスタデータタイプ〜別テーブルで作って参照します
ここから2つのタイプをそれぞれ解説してみます
Enum:アプリ組み込みタイプ
まずは「Enum」をやってみます。これを指定するためにはまず「Type」で「Enum」を選択します
「支払方法」の左の「編集(鉛筆マーク)」をクリックして設定画面を表示します。
「Value」欄に選択肢を追加していきます。
これで終わりです。
右側のプレビューで確認します。
「支払方法」の項目をクリックします。
すると選択肢の画面が表示されます。利用者はこの選択肢の中から探して入力をします。
Ref:マスタデータタイプ
マスタデータタイプの「選択項目」を作るにはいくつかのステップが必要です。ステップは「テーブル準備」「テーブル設定」「Ref項目の設定」です。
テーブル準備
まずはマスターデータとなるてテーブルをデータを含めて作成します。サンプルはGoogleスプレッドシートをデータソースとしているので単純にタブを作ってデータを入力します。
項目は「ID」と「名称」の2列を作ります。
テーブル設定
次は作ったマスタテーブルをAppSheetに取り込みます。
「dara」の一番上にある「+」(Add new Data)をクリックします。
使用するテーブルを作ったデータソースのスプレッドシートを選択して追加したテーブルを選択します。
選択したら「Add This Table」をクリックして登録します
ここでテーブルの設定画面になります。
IDは「KEY」と「REQUIRE?」のみチェックし、名称は「LABEL」「SHOW」「EDITABLE」にチェックします。
Ref項目の設定
最後にRef項目を設定します。
こちらはマスタテーブルを呼び出すメインデータの設定画面で行います。
「支払い方法」の項目の「Type」を「Ref」に変更します。
選択すると設定画面が表示されます。
「SorceTable」に追加したマスタテーブルを選択します。
「Input mode」はEnumと同じ「DropDown」を選択します。
右上の「Done」をクリックします。
最後にできたものを右側のプレビューで確認します。
「支払い方法」をクリックするとマスタテーブルに登録した選択肢が表示されます。
まとめ
今回は入力画面における「選択項目」の2つの実現方法をやってみました。目的に合わせて使い分けていただけると良いかと思います。
ざっくり使い道を上げると
Enum:アプリ組み込みタイプ 変更と数のの少ないもの
・〜区分、作業区分、対応区分など
・〜種別、作業種別、受付種別、顧客種別など
・あまり追加されなさそうなもの
Ref:マスタデータタイプ 変更と数が多いもの
・商品コード
・担当者
・顧客コード
こんな感じです。