こんにちは。2つ、ご質問致します。
1.列のサイズを変更する方法
2020/03/28 …と「日付」が表示されている列があります。
ここが確認画面では(実際のアプリ画面でも)2020/3.....と、切れてしまいます。
UX>VIEWS>VIEW OPTIONS>Column WidthをWideに指定しましたが、サイズが変わりません。
例えばこの「日付」列だけ指定サイズにするなどの方法があるか…
日時をすべて表示したい場合は、どうすればよいでしょうか?
2.Dateタイプのフォーマット変更方法
上の質問と同じ「日付」列のことなのですが、
「2020/03/28」ではなく、「3/28(土)」という表示にしたいです。
もしもAPPSHEETで(土)のような日本語表記に対応していないのであれば、せめて「3/28」だけのシンプルな表記にしたいです。
これは、どうすればよいでしょうか。
以上、お返事をいただけると嬉しいです。
どうぞ、よろしくお願い致します。
Context関数で、Form Viewのみ表示されるようにしたにも関わらず、TABLEVIEWでは表示されてしまう、いう事象への対応ですね?
本来は、Detail Viewその他と同様、指定したForm Viewでのみカラムが表示されてくれればよいのですが、TableViewではカラム名が表示されてしまいます。BUGと呼ぶかは別の議論としまして、その場合、作成したTable Viewの設定に入り、
若干面倒な作業となりますが、一つづつ表示させたい順にカラム名を選択してください。その際、表示したいくないカラム名を選択しないようにすることで「隠す」ことが可能です。
やはり、これは関数の問題というよりも、
そのように(tableViewでは表示されるという)APPSHEETの変えようのない問題なのですね。
お教えいただいた、ViewOptionの方法で対処するようにします。
ご回答、どうもありがとうございました!
お世話になっております。
本スレッドでご質問をした【列の表示/非表示】に関しまして
お教えいただいた数式(CONTEXT(VIEWTYPE)="FORM")を
Data > Columns > [date]カラム > SHOW? に設定することで
・Detailsには表示されず ・・・ ◯
・FORMには表示される ・・・ ◯
ということで一歩前進だったのですが、一番最初の画面(データテーブルがすべて表示されているトップ画面のことですが、仮にこれをTableViewと呼びます)には表示されてしまいます。
CONTEXT(VIEWTYPE)="FORM" と指定しているのに、最初の「TableView」で表示されてしまうのは、どうしようもないデフォルト設定でしょうか?
・・・
TableViewからも非表示にしたいと思い、
UX > VIEW OPTIONS > Column Orderを使って非表示にすることはできました。
しかし、これだと、ColumnsをRegenerateした際にも都度ColumnOrderを変更しなければなりません。(そもそも頻繁にRegenerateすることにも問題は感じているのですが…)
できれば、お教えいただいた数式のちょとした変更で一発対応できないものかと思いました。
よいお知恵があれば…お教えいただけますと幸いです。
このケースでは、SLICEで隠すのではなく、SHOWIFで制限することで目的が達成できます。
日付のVALUEは基本的に、データを入力する際のみ表示されていればいいわけです。つまりFORM VIEWを開いたときに日付のFIELDを表示。その他のDETAILやTABLEなどでは非表示にすることであたかもSLICEで隠しているような効果を実現できます。
実現方法は以下の通りです。
まず。日付のフィールドの編集画面に入って下さい。
SHOWIFという部分があります。フラスコマークをクリックし、関数を追加します。
そしてExpressionに以下のスクリーンショットのようにCONTEXT関数を入力します。
作業完了後、SAVEし右に表示される画面にて試してください。
この日付のFIELDはFORMのVIEWをOpenしたときのみ表示されるようになるはずです。
はい。APPSHEETのオフィシャルコミュニティも、「このリンクを見よ」と言いながらどこにもリンクがなかったり、走りながらコミュニティを作り込んである(まだまだ整頓されるには遠い)ようです。英語を読むのも苦しいのでこのような日本語のやりとりができる場所は大変ありがたいです。こちらこそ、どうぞよろしくお願い申し上げます。
早速ですが…本スレッドの「日付」というコラムと関わる質問だったので、同じスレッドの続きとして投稿致します。
・・・
今の問題として…
●日付(オリジナルのDate Typeデータ : 2020/3/30)
●Date("日付”コラムを加工したvirtual column:3/30(月))
の2つが表示されてしまっています。(日付、はもはや表示不要)
「日付」を非表示にすると、そもそも日付を入力/編集できなくなってしまう! 単純に「Date」だけを「表示」すればよいのではない、という問題に気づきました。
「日付」をVIEWOptionsのColumn Orderで非表示にしたところ、
以下のように「トップ画面(下記A)では、表示されなくなりました。
A
B それぞれのデータをクリックすると「詳細」に移動します。
ここでは、「日付」が表示されてしまいます。
C 右下の「編集ボタン」をクリックするとこのようになります。
ここでは、なぜか(都合の良いことに)「Date」は表示されません。おそらくバーチャルコラムなので、編集対象ではないということですね…。
・・・
(sliceを使うのだという考えが正しいものとして…)
【詳細(B)の画面では、「日付」は非表示にしたいのだ】・・・というsliceをどのように作れば良いのでしょうか?
ご回答いただけますと助かります。
どうぞ、よろしくお願い致します。
Codingと世界はNo Codeのアップシートも共通する部分があるかもしれまんせが、同じ結果に至るアプローチは複数用意されているという点が重要かもしれません。それだけ、APPSHEETの世界の奥深さを物語っているのかもしれません。。。
アップシートのOfficialのCommunity Site(https://community.appsheet.com/)でも、2016年以降貢献すべく頻繁にコメントしています。弊社は、AppsheetのPrefered Partnerとしても選択され、Community活動への貢献に加え、Appsheetで業務改革を目指される方々へのサポートを実施しております(営業トークで申し訳ありません。。。)。世界でも数少ないAPPSHEETに精通したパートナーです。
引続き宜しくお願い申し上げます。
順を追ってご説明します。
まず、テーブルには、Date タイプのカラムがあります。ここでは[Date]と定義します。ここでcaptureしたdateのVALUEをVirtual Columnwを使って目的の月/日(曜日)の体裁に関数を使って変換します。
まず、その日が何曜日なのか?を動的に計算。第一歩として、その日付けが日曜日から数えて週の何番目にあたるのか?1から7の数字のVALUEを計算します。
計算関数は極めて簡単。
weekday([Date])
次にここで得られるVALUEを元にUIに表示させる日本語の曜日を動的に計算させます。EXCELと同じと思ってください。計算式は、
ifs(
[WeekdayNo]=1,"(日)",
[WeekdayNo]=2,"(月)",
[WeekdayNo]=3,"(火)",
[WeekdayNo]=4,"(水)",
[WeekdayNo]=5,"(木)",
[WeekdayNo]=6,"(金)",
[WeekdayNo]=7,"(土)",
)
(*) Switch 関数というものを用いても同じ結果が得られますが、ここでは分かり易いifs関数を使いましょう。
次に[Date]のValueからそれぞれ月、日の数字のvalueを抜き出します。
month([Date])
day([Date])
後は、これらを連結するだけです。このカラムを[日付]としますと計算式は
[Month]&"/"&[Day]&[youbi]
となります。
実際の画面はこんな感じです。
ここでは解説のために5つのカラムに分割しましたが、当然に計算なので、一つにまとめることも可能です。こんな感じとなります。
month([Date])&"/"&day([Date])&
ifs(
[WeekdayNo]=weekday([Date]),"(日)",
[WeekdayNo]=weekday([Date]),"(月)",
[WeekdayNo]=weekday([Date]),"(火)",
[WeekdayNo]=weekday([Date]),"(水)",
[WeekdayNo]=weekday([Date]),"(木)",
[WeekdayNo]=weekday([Date]),"(金)",
[WeekdayNo]=weekday([Date]),"(土)",
)
次にtableviewのカラム幅ですが、UXのOPTIONでその設定をする一方、対象のTABLEVIEWの設定はどのようになっていますか?そのTABLEVIEWの設定に入り、WIDEに設定するとどうなりますか?
AppsheetのTABLE VIEWはDEFAULT, WIDE, NARROWの設定しかできません。個別のカラム毎に幅を調整する機能がないということです。現時点では。