案件管理などで成約可能性をA、B、Cなどでランク付けするようなことはよくあると思います。そのランクを決める時は担当者個人の判断で決めているのではないでしょうか。
なので担当者が「ランクAです。今日契約してもらいます!」と言ってたので同行してみたら「(どうみてもランクCだな)」となった経験があるのではと思います。
そこで、どのような行動をしたらランクが上がるかの基準例を作成して、基準例に一致したら自動でランク変更するようなカスタマイズを作成してみます。
行動を明確化することで曖昧な判断も少なくなっていくと良いですね!
ただ、今回の例では営業案件ではなく、ダイエットを例にしてみます。
アプリは入力アプリと行動アプリの2つを作成します。入力アプリのテーブルに行動アプリからルックアップで取得するような使い方です。
今回のカスタマイズで出来ること
どのような行動をしたかでダイエット成功ランクを決定します
行動は別アプリからテーブル内のルックアップに入力します
行動アプリには以下のフィールドを作成しました
入力アプリには以下のフィールドを作成しました
ポイントとしては
・順不同で行動を入力しても成功ランクの判定が出来るようにする
・同じ行動を複数回入力した場合は1回にする
です。
それに対応するため次のようにフィールドを決めています。
・判定用には 番号 を昇順にした文字を使う
・番号 は数値フィールドにする
余談ですが、番号が数値だと 2,3,10,11 になりますが、文字列にすると 10,11,2,3 になります。どちらでも一意に決まるのですが分かりやすいほうが良いと思い数値フィールドにしています。
Customineの設定
左の縦列はテーブル内の項目名が変わった時で、右の横列は判定用文字列が変わった時に実行されます。
※アクショングラフに説明を追加
全体の設定は次のようになります。
項目名が変わった時に判定用文字列をセットする
4番の「フィールドの値を編集して値が変わった時」で項目名が変わった時に処理を開始します。テーブル内の番号を重複なしに昇順で並べた値を取得したいので次の「やること」を使います。
これによって6番の結果は「テーブル内の番号を重複なしに昇順で並べた」状態になります。そして7番では $6.番号 と指定することで番号を ,区切り で取得することが出来るようになります。
判定用文字列が変わった時に成功ランクをセットする
先ほどと同じように、「フィールドの値を編集して値が変わった時」で判定文字列が変わった時に処理を開始します。
ここでは、判定文字列が決められたどれかの値と一致した時に成功ランクに値をセットするので「フィールド値が特定の値ならば」を使います。判定文字列によって8番から10番どれかが実行されますが、どれにも一致しない場合はなにもセットされず元の値のままです。
動作
設定をすると次のような動きになります。
補足
Customineでは
= フィールドコード
という式で値を参照することが出来ます。ただ、テーブルや取得したレコードなどでは
= テーブル[0].フィールドコード
や
= $1[0].フィールドコード
のようにしないと値が取得できません
この時に
= テーブル.フィールドコード
とすると全ての値を ,区切り で取得できます。
なお、「textjoin 関数」を使っても同じ値を取得可能です
= textjoin(",", "yes", テーブル.フィールドコード)
こちらの場合は区切り文字を自由に設定できるので、,区切りでは問題がある場合はこの関数に置き換えてください。
こちらでも同様の使い方をしていますので、参考にしてください。
「テーブルを一覧画面で見やすくするため、値をテーブル外に保存する」
まとめ
kintoneではフィールドに一時的な値をセットすることは良くあります。今回も判定用の文字列のセットに使ってみました。応用が効く方法なので、色々とお試しください。
なお、判定パターンが多いとか定期的に変わるという事であれば、別アプリに組み合わせを登録しておいて「キーを指定してレコードを取得する」で取得するという方法も考えられます。
こちらも色々な組み合わせが考えられますので用途に合わせて色々とお試しください。