【AppSheet】スプレッドシートに同じ名前のカラムがあった場合にRegenerate Schemaを実行するとどうなるか?|データは消える?上書きされる?

app sheet アップシート appsheet-prograshi(プロぐらし)-kv AppSheet
記事内に広告が含まれていることがあります。
[PR]

AppSheetを使っているときに、テーブルやカラムのソースとなっているスプレッドシートに同じ名前のカラムがあったとします。

このときに「Regenerate Schema」を実行するとどうなるか?元のカラムが上書きされて消えるのか?エラーになるのか?という話です。


結論

結論としては、同じ名前のカラムがあったとしても問題なく読み込まれます。元のカラムが消えたり、上書きされるということはありません

その際、スプレッドシート側のデータには何の変化もありません。AppSheetに読み込んだカラムが次のような命名になります

カラム名_行番号


例えば、カラム名が「画像2」でK行、すなわち11行目にある列を「Regenerate Schema」で読み込むとAppSheetに追加されたカラムの名前は「画像2_11」となります。

 ↓


ちなみに列番号はスプレッドシートの方と連動しています。AppSheet側ではありません。AppSheetだとデフォルトでスプレッドシートの行番号を反映した「_RowNumber」というバーチャルカラムが追加されるので、スプレッドシートのカラム番号とずれが発生します。


カラムの名前を変更したい場合はどうすればいいか?注意点

カラムの名前を変更する方法は以下の2つです。

カラム名を変更する方法
  1. AppSheet上でDisplay nameを指定する。
  2. スプレッドシートの列名を変更する。


AppSheet上でDisplay nameを指定する

一番オーソドックスな方法はAppSheet上でDisplay nameを指定することです。

カラムの設定画面を開くと「Display」の中に「Display name」があります。ここに表示したい文字列や値を呼び出す数式を設定します。


すると、アプリ上では指定した名前が表示されます。※AppSheetのカラム名自体は変わりません


スプレッドシートの列名を変更する

もう一つの方法はソースとなっているスプレッドシートの列名を変更する方法です。

ただし、これには注意しなければいけないことがあります。

注意点

新しいカラムとして読み込まれるため、REQUIRE?、SERARCH?、SCAN?などの元のカラムで指定していた設定がリセットされます。

INITAL VALUEやFORMULAなどの数式もリセットされ、全く新規のカラムを読み込んだときと同じになります


上記を踏まえた上で変更するときは、スプレッドシートのカラム名を変更し「Regenerate Schema」を実行すればOKです。

例えば、「画像2」というカラム名を「イメージ2」に変更します。「Regenerate Schema」を実行すると、スプレッドシートのカラム名が反映されます。


タイトルとURLをコピーしました