とよてくMemo⑤
こんにちは。でのぞです。
この記事は、トヨクモ製品を使っていて「お、いい感じ」と思った使い方を記録するための、超個人的なメモシリーズです。
今回は「フォームブリッジでランダム数字を生成してみた」についてです。
それではスタート👉
お題
「フォームブリッジで回答ごとに連番にならない数字を生成したい」ということがあったので、数値計算フィールドを使ってみました。
使ったのはこちらのrandom関数とtrunc関数
※フォームブリッジの数値計算フィールドで使える演算子/関数
「受付番号フィールドに5桁の被らない&連番にならない数字を保存する」が最終目標です。
kintoneアプリの準備
サンプルなのでフィールドは2つにしました。
・受付番号(5桁の重複禁止)
・今の気分(絶好調or絶不調)
フォームの作成
次に、フォームを作成します。kintone側に必要なフィールド以外に2つフィールドを追加しました。
・number(数値フィールド)
・random(数値計算フィールド)
number(数値フィールド)の設定
初期値に適当な数値を入れます。この後に設定する回答保存プロセスの自動採番と合わせて5桁にしたかったので、とりあえず初期値に3桁の「999」を入れました。
random(数値計算フィールド)の設定
以下の計算式を入れます。
計算式:trunc(random(number))
初期値「999」をrandom関数で計算してtrunc関数で小数部を削除してくれ、という式みたいです。
random()→「ランダムな数を生成してね」
trunc()→「生成したら小数部取り除いちゃって」
※Excelの関数でなく多分JavaScriptの関数として調べたら出てきた。
回答保存プロセス
ここまで来たら、回答保存プロセスで受付番号フィールドに値を入れる設定です。
①自動採番
自動採番で2桁の連番になる数字を作ります。受付番号フィールドを重複禁止にしているので「自動採番+random関数で生成した数字」にする為の準備です。
②回答保存プロセスの数値計算
プロセス追加で「数値計算」を選択します。
回答保存プロセスの数値計算では、randomフィールドで計算した結果をnumberフィールドに戻します。
「なんで戻すねん」って思ったかもしれませんが、今回は最後に自動採番とnumberフィールドをくっつけて5桁の数字にしたいんです。
回答保存プロセスの文字列連結では、数値計算フィールドを選択できないので、数値フィールドのnumberに戻してあげました。
ややこしや、ややこしや。
文字列連結
最後に、自動採番(2桁)とnumberフィールド(ランダムな3桁)を文字列連結でくっつけてあげたら「5桁の被らないランダムな数字」完成です🍝
結果を見てみましょう👀
ちゃんと後ろ3桁がランダムになっている~。
てな感じでフォームブリッジでもランダムな数字を振ることができました👀
おまけ
頭2桁も連番にしたくないぜ。という方は何かしらのフィードをキーにして自動採番をくっつける箇所をずらしても良いかも?👀
絶好調なら自動採番を最初に。
絶不調なら自動採番を後ろに。
結果
出来た。
ただ自動採番の入れる箇所をずらすとrandamで生成した数字と奇跡が起きて被っちゃう可能性もあるので注意が必要かも…?なんで絶好調なら「A」絶不調なら「B」とか文字入れるのもありよりのあり。
まとめ
てなわけで、どんどん組み合わせたら最強のランダム数字が振れるかも…?
実は普段、フォームブリッジの数値計算フィールドはほとんど使わないんです。(母のお腹の中にいるときから数学が苦手)
今回は、どうしてもランダムな数字を生成しないといけない~!という時に思いついた内容です。数値計算フィールドって凄いじゃん😶(何目線)
ではでは👋