関連レコード集計プラグイン

関連レコード一覧フィールドが参照している先のアプリのレコードを、件数・合計・平均で集計し、 このアプリの指定フィールド(数値)へ書き込むプラグインです。関連レコード一覧フィールドの値そのものは JavaScript API・REST APIのいずれでも取得できないため、フィールドの設定(参照先アプリ・関連付け条件・ 絞り込み条件)から参照先アプリへのクエリを自動で組み立てて集計します。

データ連携 #関連レコード集計 #自動集計
ダウンロード(v1)

ユースケース

「顧客」アプリに「注文」アプリの関連レコード一覧を配置している場合に、注文件数・注文金額の合計・平均単価などを顧客レコード上の数値フィールドへ自動で反映できます。関連レコード一覧フィールドは値をそのまま集計に使えない(APIで取得できない)ため、本プラグインは同じ絞り込み条件を参照先アプリへのクエリとして再現し、参照先アプリの実際のレコードを取得・集計します。

セットアップ手順

  1. プラグインをアプリに追加し、設定画面を開く。
  2. 「+ 集計設定を追加」で行を作成し、①関連レコード一覧フィールド→②集計種別(件数・合計・平均)→③集計対象フィールド(合計・平均時のみ、参照先アプリの数値フィールドから選択)→④書き込み先フィールド(自アプリの数値フィールド)→⑤除外条件(任意、クエリの断片)の順に設定する。行は複数追加できる。
  3. 発動条件(保存時・詳細画面ボタン・一覧画面の一括集計ボタン)を必要な分だけONにする。一覧画面の一括集計を使う場合は、実行を許可するグループコードをカンマ区切りで入力する(任意)。
  4. 保存後、アプリを更新する(kintoneのアプリ設定は保存しただけでは反映されず、更新〈デプロイ〉して初めてレコード画面に反映されます)。

一括集計ボタンの表示・非表示によるグループ制限は、あくまで画面上の表示切り替えであり、真の権限制御ではありません。実際にレコードを書き換えられるかどうかは、参照先アプリ・このアプリ自体のkintoneのレコード権限設定に依存します。

セキュリティレビュー結果サマリ

設定画面イメージ

関連レコード集計プラグインの設定画面。関連レコード一覧フィールド・集計種別・集計対象フィールド・書き込み先フィールド・除外条件を行ごとに設定するテーブルのスクリーンショット。

API実行数について

保存時トリガー・詳細画面ボタンは、実行するたびに集計設定の行数分だけ参照先アプリへの検索APIを実行します (件数集計は1回、合計・平均は集計対象レコードを500件ごとに取得するため件数が多いほど増えます)。加えて 詳細画面ボタンは書き込み用のAPIを1回実行します。一覧画面からの一括集計は対象レコード数に応じて多数のAPIを 実行するため、実行前にkintone.showConfirmDialog()で見積もり回数(参照先アプリへの取得API回数 = ceil(対象レコード数 × 集計設定数 ÷ 500)、書き戻しAPI回数 = ceil(対象レコード数 ÷ 100))を表示し、 実行確認を求めます。kintoneのAPI実行数制限にカウントされる点にご留意ください。

GitHub / 改善要望

あわせて検討したいkintone関連サービス