仮想列は、基盤となるスプレッドシートの実際の列に対応しない列のことです。代わりに、アプリ数式を使用して自動的に計算されます。仮想列の値は実際にはどこにも保存されていないため、作成してもスプレッドシートには表示されません。ただし、通常の列とほとんど同じような動作をして、アプリに影響を与えます。
仮想列の値は、ユーザーのデバイスでローカルに保存されます。あるユーザーのために計算される仮想列のアプリ数式の結果は、他のユーザーは利用できません。また、結果はユーザーごとに異なることがあります。
仮想列は列と行ごとに計算され、式は複雑になることがあるため、アプリに多数の仮想列がある場合、通常はパフォーマンスにとって大きな負担となります。一般的には、仮想列の数をできる限り少なくすることをおすすめします。
仮想列の 3 つの一般的なユースケースを次の表に示します。
ユースケース | 例 |
複数の列を結合する |
アプリで 関連情報: |
条件に応じた値を構築する |
アプリが連絡先情報を取得する場合は、次のアプリ数式を使用して仮想列 関連情報: |
複雑な Yes/No の値を構築する |
アプリが注文を取得する場合、次のアプリ数式を使用して仮想列 関連情報: |
以下のセクションでは、仮想列の使用方法を説明します。
仮想列を追加する
- エディタでアプリを開きます。
- [Data]
に移動し、仮想列を追加するテーブルを選択します。
- テーブル ヘッダーの [+] をクリックします。
新しい列が追加され、構成ダイアログが表示されます。 - 仮想列を構成します。
アプリ数式を指定する必要があります。通常、アプリ数式は同じ行の他の列の値を使用します。仮想列の種類はアプリエディタによって自動的に検出されます。 - [Done] をクリックします。
- 次のいずれかを選択してアプリを保存します。
- Save - アプリを保存します。
- Save & verify data - アプリを保存し、外部依存関係に基づいてアプリが実行可能であるかどうかを確認します。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。
以前のエディタを使用する場合
仮想列の順序を制御する
テーブルの列の順序に関して、仮想列は、すべての非仮想列のうしろに、作成された順序で配置されます。アプリエディタでは、仮想列の前にある編集アイコンの色は非仮想列とは異なります。
仮想列の順序を制御するには、次の操作を行います。
- 仮想列の順序をグローバルで制御するには、希望する列の順序でスライスを作成します。
- 詳細、フォーム、テーブルの各ビューには、ビューで列の順序を制御するで説明されているように、列の順序を設定するオプションがあります。たとえばテーブルビューでは、列の順序は以下のように [Column order] オプションによって制御されます。
仮想列を削除する
仮想列を削除するには、列の構成画面に移動して、[Delete] ボタンをクリックします
アプリエディタは、アプリで使用されている仮想列の削除を阻止しないことにご注意ください。変更を保存した後、削除された仮想列への参照を指摘するエラーがアプリエディタで表示されることがあります。これらのエラーが修正されるまで、アプリが利用できなくなることがあります。
自動的な仮想列
ときどき、AppSheet が仮想列を自動的に追加することがあります。通常これらの自動仮想列は、テーブルがアプリに初めて追加されたときか、テーブルの構造が再生成されたときに追加されます。これらの列は多くの場合、一般的な使用方法に基づいて利便性のために追加されます。システムによって追加されるこれらの仮想列のほとんどは、使用、編集、削除できます。
AppSheet は、逆参照を追跡するためにも仮想列を追加します。これらの仮想列は、次のプロパティによって認識されます。
- 列名は「Related」で始まります。例:
Related Orders
- アプリ数式は、
REF_ROWS()
関数を使用します。 - 列の種類は
List
で、要素の種類はRef
です。 - 「... 列でこのエントリを参照する ... エントリ」のような説明文。
アプリエディタではこれらの列を削除できますが、アプリの構成が次に保存されたときに自動で再作成されます。永続的に削除することはできません。ただし、これらの列のいくらかの再構成は可能です。