Tap Forms 5で、レコードをランダムに並び替える方法!おまけに、特定のレコード数を抜き出すやり方もご紹介!
![レコードをランダムに並び替える方法](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_eye.jpg)
Tap Formsなどのデータベースでは、特殊な事例かもしれませんが、レコードをランダムに並べたい時の方法です。
ランダム関数を使用して、ランダム値を出して、それを昇順もしくは降順に設定することでレコードをランダムに並び替えます。
計算フィールドでランダム関数を使用する
![Tap Forms5の計算フィールド設定](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_1.png)
まず、計算フィールドを作成します。
「+」をクリックして、新規フィールドを作成します。
テキストフィールドになっているので、フィールドタイプを変更します。
![Tap Forms5の計算フィールド設定](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_2.png)
表示されたリストから、[計算]を選択します。
![Tap Forms5の計算フィールド関数設定](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_3.png)
計算フィールドに変更されたら、フィールド名をここでは、[ランダム]と入力します。
![Tap Forms5の計算フィールド関数設定](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_4.png)
設定画面をスクロールしていき、関数編集設定画面までスクロールします。
そして、[編集]ボタンをクリックします。
![Tap Forms5でランダム関数設定](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_6.png)
関数編集画面が表示されます。
①右の関数一覧から、「数学と三角関数」の中にある[RND()]を選択します。
②「<」追加ボタンをクリックします。
③中央に[RND()]が追加されました。そして、[保存]ボタンをクリックして、決定します。
![Tap Forms5にランダムフィールドを作成した画面](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_8.png)
ランダムフィールドに、小数点以下のランダムの数字が表示されました。
赤矢印の三角マークをクリックすることで、昇順・降順に並び替えることができます。
ランダム数値を昇順、もしくは降順に並び替えることで、レコードをランダムの順番に並び替えることができます。
ランダム値を更新する
一度作成したランダムの数値を新しくしたい場合、2通りの方法があります。
1.レコードリストのリフレッシュボタンをクリックする方法
![Tap Forms5でレコードのリフレッシュ](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_18.png)
マルチカラム表示の場合では、赤枠部分にあります。これをクリックします。
レコード全体がリフレッシュされ、計算フィールドが再計算され、ランダム値が新しい数値に変わります。
2.ランダムフィールドのみ再計算する方法
![Tap Forms5の計算フィールドでの再計算](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_19.png)
フィームインスペクターのフィールド設定画面で、ランダムフィールドを選択します。
その設定画面をスクロールし、関数設定の[編集]ボタンをクリックします。
![Tap Forms5でランダム関数設定画面](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_20.png)
ランダム関数が入力された関数設定画面が表示されます。
何もせず、[保存]ボタンをクリックします。これで、ランダムフィールドだけが再計算され、新しいランダム値が入力されます。
おまけ:ランダムに特定の数のレコードだけのデータを作る方法
例えば、ランダムに並び替えたレコードのうち、「本文」の文字数が「140字」以内のレコードを800レコードだけ抜き出したい場合。
上記の通り、ランダムに並び替えるところまではできました。しかし、Tap Formsでは、特定の数ぶんだけ抜き出す方法がありませんでした。
そこで、ランダムにした状態のcsvデータを書き出した上で、テキストエディターで800レコードのみ抜き出します。
![Tap Forms5の検索設定画面](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_9.png)
右上にある[検索]ボタンをクリックします。検索画面が表示されます。
検索ルールの「+」をクリックして、条件を追加します。
![Tap Forms5の検索設定画面](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_10.png)
今回は、文字数フィールドが「140」字以下のものだけを検索します。赤線の条件を変更するため、クリックします。
![Tap Forms5の検索設定画面](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_11.png)
表示されたリストから、[より小さいか等しい]を選択し、[保存]ボタンをクリックします。
![Tap Forms5で検索されたレコード](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_12.png)
左のフォームリストの中に、検索したレコードが保存さています。
![Tap Forms5でのレコード書き出し方法](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_13.png)
検索したレコードを選択した状態で、レコードを書き出します。
メニュー[ファイル]-[書き出す]-[レコードを取込み]を選択します。
日本語飜訳が間違っているのか、[取込み]となっていますが、そのまま進めてください。
![Tap Forms5でのレコード書き出し設定画面](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_14.png)
レコードを書き出し設定画面が表示されます。
書き出し形式や設定、赤枠の書き出したいフィールドを設定し、[書き出す]ボタンをクリックします。(このあと、ファイル保存画面になります)
![書き出されたcsvのレコードをテキストエディタに読み込んだところ](https://kazuki-mizuc.com/wp-content/uploads/2018/04/tapforms5-fx-random_17.png)
書き出したcsvファイルをテキストエディターに読み込みます。
1行1レコードになるので、行数を表示させて、800行だけ残して、あとは削除して、データの抜き出しができました。
まとめ
ランダムにレコードを並び替えたい場合は、ランダム関数を使用して、並び替えることが可能です。
また、複雑な条件でレコードを抜き出したい場合は、工程を何段階かに分けて、欲しいデータを抜き出しました。
Filemakerであれば、スクリプトを使うことで、複雑な条件で必要なレコードを検索できるのですが、Tap Formsではそれができませんので、工程を分けてレコードを抜き出してみました。
Tap Forms 関連記事
![](https://kazuki-mizuc.com/wp-content/uploads/2018/03/tapforms5_eye-300x169.jpg)
![](https://kazuki-mizuc.com/wp-content/uploads/2018/03/tapforms5-import_eye-300x169.jpg)
![](https://kazuki-mizuc.com/wp-content/uploads/2018/03/tapforms5-fx-length_eye-300x169.jpg)
![](https://kazuki-mizuc.com/wp-content/uploads/2018/03/tapforms5-new-record-no-auto_eye-300x186.jpg)
![](https://kazuki-mizuc.com/wp-content/uploads/2018/03/tapforms5-order-change_eye-300x191.jpg)