宴会でも活躍!?FileMakerで順番決めアプリを作りました。
毎月弊社で開催している「群馬 FileMaker勉強会」の発表順決めに使っていた「あみだくじ」に変わるアプリを作りました。
いつか絶対当たりくじが引ける奇跡のアプリを作りたい。スタッフの尾形です。
内容としては「ランダムな数をフィールドに登録し、その値でレコードをソートする」といった単純なものですが、順番発表のところで少し工夫凝らし、ドキドキ感のあるツールに仕上がった「順番決め」アプリについて紹介します。
発表順決めに活躍!ランダムな数でレコードをソートするアプリ
「せっかくFileMakerの勉強会を開いているのだから、その発表順を決めるための『あみだくじ』や『ルーレット』に変わるアプリを作ってみたら」
…そんなアドバイスを弊社スタッフの高木からもらい、「脱外部サービス!ビバ自社ツール」なアプリの作成にとりかかりました。
早速になりますが、出来上がったアプリの簡単な動きと、メインの動きについて紹介していきます。
順番決めアプリの操作方法
アプリのスタートはまず順番を決める人の入力から!
今回は例として桃太郎が仲間にする動物達の順番をシャッフルしてみたいと思います。
まずは上の画像のようにユーザー登録のレイアウトのヘッダー部分にある「追加」ボタンからユーザーを追加します。
登録が完了したら、「このユーザーで順番決め」を押して、結果表示レイアウトを表示します。(上画像)
結果を一覧で簡単に見せてもつまらない…ということで、少しドキドキするような仕掛けを施してみました。
結果表示ではまず「何番目」の人をこれから発表するかが表示されます。
「何番目はー!この人だー!!!」など、アプリを操作する人がうまく場を盛り上げる気の利いた一言を言うと同時に「誰だ」ボタンを押します。
すると、上の画像右のように「〜番目は〜さん」と順番が発表されます。
ここで「次は」を押せば次の番の発表に移り、順番→ユーザー→順番…と全レコード繰り返します
最後のレコードまで進むと、「次は」ボタンが「結果を見る」ボタンに変わります(上画像)
「結果を見る」ボタンを押すと、順番決めの結果が一覧になって表示されます。
途中で「あれ?1番目誰だっけ??」となっても大丈夫です。最後に結果が表示されます。(上画像)
サンプルで入力したデータは物語の順番どおりになりました…さすが鬼を退治するだけあります。簡単には物語は変わりませんでした。
時には順番発表の途中で「やっぱこの順ダメー!!」となることもあると思います。
そんな時は順番発表中のレイアウトで「順番更新」ボタンを押せば、再度順番をシャッフル出来ます。(上画像)
上の画像では1番目にキジを仲間にする話になりました。もしや鬼が桃太郎を退治しに行くような順番では…
簡単では有りますが、動きの部分は以上です。
ランダムな順番でレコードをソートする機能
先に今回作ったアプリの動きを紹介しました。
このアプリがどのように動いているか、中身的な部分を紹介します。
まずはテーブルの構造です。
ランダムな順で名前を表示するだけであればユーザー名(画像:nameフィールド)、ランダムな値を登録するフィールド(画像:rnumフィールド)の2つで十分かもしれません。
今回は「何番目」かを表示するためにレコード番号を持たせておくフィールドや今後の機能拡張で使えるかも…と、ID列を用意しておきました。
入力したユーザーをランダムな順で表示するためのスクリプトは上図のようになりました。
ステップの1,2番目はレイアウトの切り替えに関する部分なので、ランダムなソート処理とは直接関係ありません。
3番目のステップで「全レコード」を表示し、4番目のステップでランダムな値を入れるためのフィールドに関数「Random」でランダムな値をセットします。
ランダムな値をセットしたフィールドでソートをし、最初のレコードに移動すれば順番がシャッフルされたレコードを順に参照することが出来ます。
ランダムな順番でレコードを表示する機能はタイマーなどと組み合わせて、デジタルサイネージのようにお知らせを表示したりといった使い方も出来そうです。
最後に
このアプリの実演をした際に、参加者の方から「宴会にも使えそうだね」というアイデアを頂きました。
…確かに!これから花見や歓迎会などが増える季節。
何か発表の際の順番決めに活躍するかもしれません。