Tap Forms 5で、レコードをランダムに並び替える方法!おまけに、特定のレコード数を抜き出すやり方もご紹介!

レコードをランダムに並び替える方法

Tap Formsなどのデータベースでは、特殊な事例かもしれませんが、レコードをランダムに並べたい時の方法です。

ランダム関数を使用して、ランダム値を出して、それを昇順もしくは降順に設定することでレコードをランダムに並び替えます。

目次

計算フィールドでランダム関数を使用する

Tap Forms5の計算フィールド設定

まず、計算フィールドを作成します。
「+」をクリックして、新規フィールドを作成します。

テキストフィールドになっているので、フィールドタイプを変更します。

Tap Forms5の計算フィールド設定

表示されたリストから、[計算]を選択します。

Tap Forms5の計算フィールド関数設定

計算フィールドに変更されたら、フィールド名をここでは、[ランダム]と入力します。

Tap Forms5の計算フィールド関数設定

設定画面をスクロールしていき、関数編集設定画面までスクロールします。

そして、[編集]ボタンをクリックします。

Tap Forms5でランダム関数設定

関数編集画面が表示されます。

①右の関数一覧から、「数学と三角関数」の中にある[RND()]を選択します。

②「<」追加ボタンをクリックします。

③中央に[RND()]が追加されました。そして、[保存]ボタンをクリックして、決定します。

Tap Forms5にランダムフィールドを作成した画面

ランダムフィールドに、小数点以下のランダムの数字が表示されました。

赤矢印の三角マークをクリックすることで、昇順・降順に並び替えることができます。

ランダム数値を昇順、もしくは降順に並び替えることで、レコードをランダムの順番に並び替えることができます。

ランダム値を更新する

一度作成したランダムの数値を新しくしたい場合、2通りの方法があります。

1.レコードリストのリフレッシュボタンをクリックする方法

Tap Forms5でレコードのリフレッシュ

マルチカラム表示の場合では、赤枠部分にあります。これをクリックします。

レコード全体がリフレッシュされ、計算フィールドが再計算され、ランダム値が新しい数値に変わります。

2.ランダムフィールドのみ再計算する方法

Tap Forms5の計算フィールドでの再計算

フィームインスペクターのフィールド設定画面で、ランダムフィールドを選択します。

その設定画面をスクロールし、関数設定の[編集]ボタンをクリックします。

Tap Forms5でランダム関数設定画面

ランダム関数が入力された関数設定画面が表示されます。

何もせず、[保存]ボタンをクリックします。これで、ランダムフィールドだけが再計算され、新しいランダム値が入力されます。

おまけ:ランダムに特定の数のレコードだけのデータを作る方法

例えば、ランダムに並び替えたレコードのうち、「本文」の文字数が「140字」以内のレコードを800レコードだけ抜き出したい場合。

上記の通り、ランダムに並び替えるところまではできました。しかし、Tap Formsでは、特定の数ぶんだけ抜き出す方法がありませんでした。

そこで、ランダムにした状態のcsvデータを書き出した上で、テキストエディターで800レコードのみ抜き出します。

Tap Forms5の検索設定画面

右上にある[検索]ボタンをクリックします。検索画面が表示されます。

検索ルールの「+」をクリックして、条件を追加します。

Tap Forms5の検索設定画面

今回は、文字数フィールドが「140」字以下のものだけを検索します。赤線の条件を変更するため、クリックします。

Tap Forms5の検索設定画面

表示されたリストから、[より小さいか等しい]を選択し、[保存]ボタンをクリックします。

Tap Forms5で検索されたレコード

左のフォームリストの中に、検索したレコードが保存さています。

Tap Forms5でのレコード書き出し方法

検索したレコードを選択した状態で、レコードを書き出します。

メニュー[ファイル]-[書き出す]-[レコードを取込み]を選択します。

日本語飜訳が間違っているのか、[取込み]となっていますが、そのまま進めてください。

Tap Forms5でのレコード書き出し設定画面

レコードを書き出し設定画面が表示されます。

書き出し形式や設定、赤枠の書き出したいフィールドを設定し、[書き出す]ボタンをクリックします。(このあと、ファイル保存画面になります)

書き出されたcsvのレコードをテキストエディタに読み込んだところ

書き出したcsvファイルをテキストエディターに読み込みます。

1行1レコードになるので、行数を表示させて、800行だけ残して、あとは削除して、データの抜き出しができました。

まとめ

ランダムにレコードを並び替えたい場合は、ランダム関数を使用して、並び替えることが可能です。

また、複雑な条件でレコードを抜き出したい場合は、工程を何段階かに分けて、欲しいデータを抜き出しました。

Filemakerであれば、スクリプトを使うことで、複雑な条件で必要なレコードを検索できるのですが、Tap Formsではそれができませんので、工程を分けてレコードを抜き出してみました。

関連記事

レコードをランダムに並び替える方法



minneで手製本販売中!
ポケットに入る宇宙の万華鏡 上 ckip-2018-vol.1

一文で完結する物語集最新作。2018年1月〜4月の一文物語。手の平サイズの小さな本。




ABOUTこの記事をかいた人

水島 一輝

一文だけの小説も書く小説家。毎日1つ一文で完結する物語を書き、5年目1700作を超え、今も続く。Webデザイン業を経て、中学生時代から物語を書いて暮らしたいという思いが忘れられず、実現すべく作家活動を行っている。ファンタジー小説をオンラインで更新し、手製本を手がけて作品販売も行っている。