質問: 列そのものの編集(追加・削除・変更)はできますか? 下記のようなアプリにおいて、 「皿洗い」「水やり」・・・などが、data>columunsの項目としてありますが、 このcoumns自体を、 スプレッドシートからではなくこのアプリから編集(追加・削除・編集)できるようにする方法はありますでしょうか? 例えば、 ・皿洗いではなく、「洗濯」という名前に変更をしたり ・「ランニング」という項目を非表示にしたり ・「業務d」という項目を追加する ...といった操作です。 お教えいただけますと幸いです。 どうぞ、よろしくお願い致します。
回答: ご要望のニーズの背景等、十分に理解致しますがアップシートに限らずデータベースを軸とするアプリ等においてデータスキーマの変更をユーザーに可能とするような仕組みは推奨されません。(個人的意見です) ユーザーのアプリ利用における負の効果が発生したりと現状のアプリ(appsheet)では対応できない側面もあるためです。 但し、何か抜け道があるか?との質問に対してはyesとなります。 https://www.appsheet.com/samples/sample-app?appguidstring=b9bedea6-86ac-4fd3-8ce5-65bc2ac12891 若干複雑なお話となってしまうため、弊社のアップシートのポートフォリオにサンプルサプリをupしました。 このアプリですが、 まず、一つのテーブル(spreadsheetでいうところのworksheet)にいくつかのカラムを事前に準備し、アップシートに読み込みます。ここでは、フィールドの名前を適当にcol1,col2といった具合に「適当」に定義しておきます。 実際にアプリ上で表示するそれぞれのカラム名。 これを定義するために別途テーブル(worksheet)を準備しておきます。col1,col2というカラムに実際に「命名」したい名前をこちらのテーブルに入力します。 カラムに名前を付けることで(ユーザーがアプリ上で操作できます)、もう一つのメインのテーブルのカラムは、バックエンドのシート上ではcol1、col2という名前は引続き変わりませんが、appsheet内で関数を使い、且つカラムのdisplay nameという部分に細工を入れることで、ユーザーがアプリ内で定義したカラムの名前が、表示されるようになります。 単なるアップシートでできるトリックのご紹介となってしまいますが、このような方法である程度、実現されたいことは達成可能です。 一方、このやり方でも例えば、カラムを日付のタイプにしたい、などカラムのタイプをユーザーに変更させたり、アプリ上に表示させるカラムの順番をユーザーに変更できるような仕組みは、残念ながら現状は対応できません。 今後、appsheetがこのようなトリッキーな要望にも対応するのか?は未知数ですが、カラムのデータタイプを変更する権限をユーザーに与えてしまう、ということは現実的ではないと思います。 例えば、あるカラムを「number」というタイプに設定。ユーザーは基本、そのカラムに数字しか入力できない、という制限を与えることにもなります。この状況で仮に、このカラムをtextというタイプに変更したらどうでしょう? 既にこのカラムには数字のデータが入力されているはずですが、同じ行にテキストデータが入ってきてしまうことになります。 データがぐちゃぐたになるわけです。 データベースのマネージメントの観点から見れば、異なるタイプのデータが同じ行に入っているということは、clean dataとは呼べず、後のデータの利用にも影響を及ぼしてしまうことになってしまいます。 また、スプレッドシートでは基本、テキストであろうが数字であろうが同じ行にどのようなデータをぶち込んでも問題ありませんが、バックエンドがsqlなどのデータベースの場合、基本、dateと設定したフィールドには日付のデータしか入力を受け付けてくれません。 といった具体に簡単ではない問題です。笑 ご参考まで、でした。