Calendarの1日目の記事になります。Calendarですので、エンジニアメンバーでUnifinityに関するいろいろな記事を作って、完走を目指していこうと思います!さて、初日なので、本日はシンプルなアプリを作っていきたいと思います。スクラムでのレトロスペクティブ弊社プロダクトチームでは「スクラム」の取り組みを進めており、毎週末に開催している「レトロスペクティブ」で各自が「KPT(Keep,Problem,Try)」を発表してメンバー間で共有し次に生かす、という振り返りを行っております。ここでは発表順は自由としているのですが、空気を読みあってなかなか発言者が出てこない、という問題がありました。この待ち時間がもったいないので、発表者をランダムに決めるジェネレーターをUnifinityで作ることにしました。RANDOM()」を利用して、参加者をランダムに並び替えた結果を表示する、というものです。アプリ開発それでは、DB定義から始めていきます。参加者を登録する「メンバー」テーブルを用意します。欠席している場合は結果から除きたいので、「出席しているかどうか」の状態を記録できるようにフィールドを作成しておきます。初期データにメンバーの名前を入れておきます。ランダムに並び替えた結果を格納するための「結果」テーブルを作っておきます。こちらは名前だけを格納するのでフィールドも1つです。これでDBの準備は完了です。次に画面を作っていきます。画面には3つの要素を配置します。左側にはその時の出席/欠席を設定できるようなインターフェースを作りたいので、サブフォームを用意し、後で作成するサブフォーム用の画面を「リスト」形式で表示する設定にします。右側には結果を表示するための表を用意しておきます。こちらは「結果」テーブルに紐づけておくだけでOKです。続いてチェックボックスと名前を表示するための、サブフォーム用の画面を作ります。赤枠部にはチェックボックス、青枠部はラベルです。それぞれデータセットを使って、「メンバー」テーブルの「出席」と「名前」に紐づけます。これを、左側に作成したサブフォームに内容に設定しておきます。これだけで、簡単にチェックボックスを用いたインターフェースを作ることができます。結果を生成するボタンを配置すれば、画面は完成となります。最後にボタンを押した際の処理を作成していきます。UnifinityにはSQLを実行した結果に対して、foreachのようにループ処理する「データベース/カーソル(繰り返し開始)」という機能があるため、こちらで次のSQLを実行します。RANDOM();これで、出席メンバーがランダムに並び変わるので、これを「結果」テーブルに格納します。画面にはデータセットで「結果」テーブルが紐づいている為、「コントロール/更新」をするだけで、画面に結果が反映されます。これで、アプリが完成です。Playerお問い合わせすべての項目をご入力の上、ご送信ください。通常1~2営業日以内にご連絡いたします。