AppSheetのテーブルの編集画面には「FORMULA」と「INITIAL VALUE」という入力項目があり、それぞれ数式を設定することができるようになっています。
ここでは、「FORMULA」と「INITIAL VALUE」は何が違うのか?どういったときにどっちを使えばいいのか?について解説しています。
また「FORMULA」を使うときに必ずと言っていいほど必要になるバーチャルカラム(Virtual Column)についてもまとめています。
結論:「FORMULA」と「INITIAL VALUE」の違い
初めに結論から言うと「FORMULA」と「INITIAL VALUE」の違いは計算処理の頻度です。
「FORMULA」は編集を行うたびに指定した数式で再計算を行います。
一方、「INITIAL VALUE」は初回登録時のみ計算処理を実行します。その後で編集が加えられても再計算を行いません。
また、「FORMILA」を設定すると自動的に読み取り専用となり、アプリ上で変更することができなくなります。
「INITIAL VALUE」は自動的に読み取り専用になることはなく、開発者が自由に選ぶことができます。
INITIAL VALUEの使い方
「INITIAL VALUE」は強制的に読み取り専用(「EDITABLE?」のチェックなし)にはなりません。開発者が自由に選択することができます。
後から編集可能(EDITABLE?にチェックあり)
「INITIAL VALUE」を後から編集可能(EDITABLE?にチェックあり)で使う例としては、日付型のカラムに初期値として今日の日付を入力しておき、ユーザーが自由に変更できるようにするといった場合に使えます。
その場合は TODAY()
と入力します。
後から編集不可能(EDITABLE?にチェックなし)
後から編集不可能(EDITABLE?にチェックなし)で使う例としては、KEYなどのユニークな値を設定するときに使います。
例えば、UNIQUEID関数を使って、一意のランダムな数値を入れる場合は以下のようになります。
FORMULAの使い方
FORMULAの機能
「FORMULA」で数式を設定すると、何かの値に変更が加えられた際に常に計算を実行します。このため、常に計算を行う必要がある値に設定します。
例えば、カラム「商品価格」に10%の税金を掛け合わせた金額を表示する場合に、以下のように記述します。
テーブル名[商品価格]*0.10
FORMULAの注意点
スプレッドシートなどで読み込んだ通常のカラムに対して、他の行と依存するSELECT関数やLOOKUP関数などを使ってFORMILAを設定した場合に、変更が自動的に反映されないことがあります。
この場合は、バーチャルカラム(Virtual Column)を追加して、そこにFORMLAを設定することで対処できます。
バーチャルカラム(Virtual Column)とは何か?
バーチャルカラムの機能
バーチャルカラム(Virtual Column)とは、仮想的な列のことで、スプレッドシートと紐づかないAppSheetのみのカラムです。
データを保存することはせず、FORMLAを使って値を自動計算する場合に使用します。
バーチャルカラムの注意点
バーチャルカラムを作成するときは以下に注意してください。
App formulaは必須
最初に「App fomula」を入力する欄が表示されますが、ここに何も入力しないとバーチャルカラムの詳細設定画面には進めず削除(Delete)するのみになります。
EDITABLE?は無効になる
バーチャルカラムは値を自動計算し、かつデータベースに値を保存しません。このため、EDITABLE?は強制的に無効になります。
カラムの編集画面でもグレーアウトします。
バーチャルカラムの命名ルール
バーチャルカラムを通常のカラムと区別するために、バーチャルカラムの名前の冒頭に「_(アンダースコア)」や「VC」といった文字列をくっつけると区別しやすくなります。
▼実例
実例:バーチャルカラムの使い方
バーチャルカラム(Virtual Column)は例えば次のような場合に使えます。
(例1)性と名を合体させて、フルネームを作る
例えば、「LastName」というカラムと「FirstName」というカラムがあった場合に、その二つを次のような数式で合体させて、「FullName」というカラムの値にセットする場合に使えます。
CONCATENATE([LastName], ", ", [FirstName])
(例2)複数の項目から1つだけ選ぶ
例えば、「携帯への連絡をご希望」「携帯番号」「固定電話の番号」という3つの入力項目(カラム)を用意して、「携帯への連絡をご希望」にチェック(ture)が入っている場合は「携帯番号」を、そうでない場合は「固定電話の番号」を、バーチャルカラムの「連絡先」に表示する場合は以下のように記述します。
IF([携帯への連絡をご希望], [携帯番号], [固定電話の番号])
(例3)数値によって重要フラグを立てる
例えば「オーダー数」という項目への入力値が1000より大きい、または「金額」の入力値が「100,000」以上の場合は「重要」というカラムにフラグを立てる場合は以下のようにします。
OR( ([オーダー数] > 1000.0), ([金額] > 100,000) )
バーチャルカラムの追加と削除
追加
バーチャルカラムを追加するには、テーブル右上にある「+」アイコンをクリックします。
すると、カラム名と数式を入力する項目が出てくるので、情報を入れてます。すると、追加で設定項目が表示されます(後からでも変更できます)
入力が終わったら「Done」をクリックします。
すると、テーブルの一番下にバーチャルカラムが追加されます。
削除
削除はとても簡単です。追加したバーチャルカラムの左端にある鉛筆アイコンをクリックします。
右上に「Delete」とあるので、これをクリックすれば完了です。