以下のテーブルがあります。
・出荷テーブル
・出荷履歴テーブル
出荷履歴テーブルは、顧客テーブルを参照しています。
出荷履歴テーブルには、2018年から2020年までの3年分の出荷履歴が記録されています。
画面としては、以下のViewがあります。
(メイン画面)
(Detail画面)
現状ですと、2018年から2020年までのすべての出荷履歴が表示されてしまいます。
これを各年度分のみ表示するようにするにはどうしたらよいでしょうか。
どのようにすべきかをもしご存じでしたらご教示いただきましたら幸いです。
有難うございます。弊社はまだまだ小さい組織で、様々なご要望にお応えできるような体制は現時点では整っていませんが、問題意識を抱えられ、アップシートを元に目前の課題を解決したいという皆様の一助となるサービスを展開すべく活動を続けております。引続き宜しくお願い致します。
アップシートで実現できないBIZロジックはない、と主張しています。笑 要は「Appsheet way」でいかにCODINGしていくか?です。No Codeですが、Codingと全く同じ面白さがある、それがアップシートです。
ありがとうございます。また一つVCの使い方を教えて頂きました。動的にリストを構築できるんですね。大変勉強になります。いつも丁寧なご解説をいたいだき本当にありがとうございます。
Appsheetは、同じような目的を多くの異なるアプローチで実現できるツールです。こちらは単なる一つの手法、アプローチに過ぎませんが、解説させていただきます。
1.出荷テーブルにあった「年度」のカラムを戻してください。ただし、データタイプはEnumに設定。2020,2019,2018....と必要な値をEnum選択Optionに設定します。
2.出荷テーブルに新たにVCを設置します。App Formulaには
Select(出荷履歴[出荷履歴ID],[年度]=[_thisrow].[年度])
この設定により、出荷テーブルで設置するEnumで、ユーザーが選択した年度の値に合致する出荷履歴の情報をLISTタイプとして表示してくれます。選択に応じて動的にLISTを変更してくれるわけです。
PDFへの出力はこのVCをLISTとして出力すれば、選択した年度の情報・値に応じて出荷履歴がPDF出力されます。
データをAppsheetのWorkflowから出力する際、対象とする「年度」は任意でユーザーが選択し、出力したい?ということでしょうか?
出荷テーブルに年度情報を持たせてしまうと、毎年度、新しく同じ顧客に対してレコードを生成しなければいけないという手間が生じ、アプリの構造としては理想的ではありません。出荷という名称ですが、実際「顧客」を管理されているマスターテーブルのように見受けられます。
出荷テーブルから年度のカラムを削除された後、inline viewとして表示されている出荷履歴のTable Viewを年度でグルーピングした上で表示されてはいかがでしょう?
これならSELECT関数もいらず、TABLE VIEWの設定だけで簡単に年度毎に出荷情報をグルーピングできます。
アプリのエディターの右側にエミュレーターとして表示されているアプリから↓のVIEWに入ります。
VIEWをクリックすると履歴情報のテーブルVIEWが全体表示されるはずです。
その際、そのVIEWのシステム名称が表示されます。
例えばですが、この部分です。こちらをクリックすると、そのVIEWの編集画面設定にJUMPします。
table view の設定の画面で以下の通り設定。
Groupingを年度のカラムに設定。
加えて、Landingで年度の丈夫だけを表示、クリックすると該当するデータの一覧を表示するといったいわゆるDrill down的なUIを設定したい場合は、2番目のGROUPINGにRownumberを設定してみてください。
これにて一つの顧客に対し、子テーブルVIEWとして、年度が表示され、問えば2020クリックすると該当するデータが一覧表示されます。
いつも迅速なお返事をいただき誠にありがとうございます。
>テーブル・カラムの構造から推測しますと、達成されたいことは、出荷のテーブルで管理している出荷情報には「年度」というデータがあり、恐らくは、出荷テーブルの行の「年度」の値と一致する年度の値をもった出荷履歴を表示したいということでしょうか?
→はいそうです
>その場合、SELECT関数を用いて簡単に実現は可能ですが、
→SEELCT関数をどのように設定するとよいか教えていただけたら幸いです。
>その前にテーブルの構造を見直す必要があると思います。現在の設定では、REFによる親子関係の設定により、出荷履歴の情報を入力する場合、親の出荷の年度に関係なく、年度の情報を入力することがいるような設定になっているため、実際に目に触れられている表示となっているわけです。そもそも出荷テーブルで年度の入力を求めている一方、親の出荷のテーブルで年度の情報を持たせることは必須なのでしょうか?
→いえ、必須ではありません。
→テーブル構造を見直すとしたら、出荷テーブルにのみ年度情報を持たせるようにするとよいのでしょうか?
テーブル・カラムの構造から推測しますと、達成されたいことは、出荷のテーブルで管理している出荷情報には「年度」というデータがあり、恐らくは、出荷テーブルの行の「年度」の値と一致する年度の値をもった出荷履歴を表示したいということでしょうか? その場合、SELECT関数を用いて簡単に実現は可能ですが、その前にテーブルの構造を見直す必要があると思います。現在の設定では、REFによる親子関係の設定により、出荷履歴の情報を入力する場合、親の出荷の年度に関係なく、年度の情報を入力することがいるような設定になっているため、実際に目に触れられている表示となっているわけです。 そもそも出荷テーブルで年度の入力を求めている一方、親の出荷のテーブルで年度の情報を持たせることは必須なのでしょうか? 年度がわかるたびに親のテーブルに同じ顧客名で異なる年度で情報を登録しなければならず、非効率と思います。