計測した値などを記録する場合、新規に入力する時に前回の値を参照して差分を記録したいことがあります。
Platioでは、集計機能で最新値を前回の値として管理し、数値計算フィールドで差分を算出することができます。
例として下記のように利用できます。
- 車両管理で走行距離で現在値と前回の差分を記録する
- 水道などのメーター管理で現在値と前回の差分を記録する
- 棚卸管理で現在の在庫数と前回の差分を記録する
ここでは、車両管理でメーター値の前回の値を参照して差分を記録するミニアプリを作る手順で集計機能を説明します。
ミニアプリの構成
集計機能を使うため、2つのデータポケットの構成になります。
例として、ある車両情報を管理するミニアプリを作ります。車両ごとに集計機能で最新値を保持する車両情報のマスターのデータポケットと、現在値と最新値を参照して前回値とし、現在値と差分を記録する記録用のデータポケットを作成します。また、最新値を参照するため、レコード選択フィールドを使った構成にします。
レシピ集「マスターデータから複数の値を取得して設定する」を参考にして同じミニアプリを作成してください。
車両管理データポケット(マスター用:集計機能)
・車両コード:テキストフィールド
・車両名:テキストフィールド
走行距離入力データポケット(記録用)
・記録日:日付フィールド
・車両コード:レコード選択フィールド
・車両名:テキストフィールド
・今回のメーター値:数値フィールド
次に、集計機能を追加します。
集計機能の追加
車両管理データポケットの末尾に下記のフィールドを追加します。
※集計フィールドのプロパティは必須のため、プロパティを設定しないでデータポケットを保存できません。そのため、集計で選択するデータポケットと各フィールドを先に作成しておきます。
車両管理データポケット(マスター用:集計機能)
・最新メーター値:集計フィールド
プロパティを設定します。下図のようにタイプに「最新値」を設定します。
タイプ:最新値
生成元データポケット:走行距離入力
生成元の主キー:車両コード
生成元の値:今回のメーター値
主キー:車両コード
走行距離入力データポケットの今回のメーター値を最新値として保存することで、次にメーター値を記録する時に前回の値として参照できます。
次に、前回の値として参照するように設定します。
前回の値として最新値を参照する
走行距離入力データポケットの末尾に、前回の値として参照するように下記フィールドを追加します。
走行距離入力データポケット(記録用)
・前回のメーター値:数値フィールド
・前回との差分:数値計算フィールド
前回のメーター値の数値フィールドのプロパティで高度なプロパティを表示します。
ここで、下図のように初期値で「レコード選択」を選択して、同じデータポケットのレコード選択フィールドを指定し、フィールドで選択元データポケットの集計フィールドを選択することで、前回の値を取得して設定することができます。
差分を記録する
前回との差分の数値計算フィールドで「今回の値 - 前回の値」を算出して差分として設定するようにします。
プロパティの値に、フィールドIDを参照して下記のPlatio式を記述します。
※Platio式については機能ガイド「Platio式」を参照してください。
c1111111 /* 今回のメーター値 */ - c2222222 /* 前回のメーター値 */
動作確認
ミニアプリを配布してユーザーを追加します。
データビューアーへログインして、マスター用の車両管理データポケットへレコードを登録します。
例:
車両コード,車両名
Q0001,車両01
Q0002,車両02
下図はデータビューアーのレコードリストです。車両コードと車両名を登録しました。
Platioアプリでミニアプリへログインし、走行距離入力データポケットの新規シーンを表示します。
車両コードを選択すると、車両名は自動設定されます。今回のメーター値を入力して保存します。
データビューアーへログインして、車両管理データポケットのレコードリストを表示します。
集計機能で最新値が記録されてされていることが確認できます。
続けて、Platioアプリで走行距離入力データポケットの新規シーンを表示します。
車両コードを選択すると、車両名と前回のメーター値が自動設定されていることが確認できます。
今回のメーター値を入力すると、前回との差分に算出した値が設定されます。レコードを保存します。
再度、データビューアーで、車両管理データポケットのレコードリストを表示します。
最新値が更新されてされていることが確認できます。
以上で、手順は終わりです。