起点つき集計

レコードの日付を起点にした一定期間(窓)の中で、別アプリのレコードを数えたり合計したりして、起点側レコードの数値フィールドに自動で書き戻す機能です。 「付与日から 1 年間で有給を何日取得したか」「契約開始から 90 日間の利用回数」のように、行ごとに期間が異なる集計を設定だけで実現できます。

窓は起点日を含み、終了日を含みません(例: 起点 4/1 + 1 年 = 4/1〜翌 3/31)。集計値は集計元のレコードが追加・変更・削除されたときに自動で再計算されます。書き戻しでは レコードの「更新日時」「更新者」は変わりません。

設定方法

  • アプリ設定の「起点つき集計」タブで登録します(アプリ管理者のみ、1 アプリ最大 10 件。新規作成はスタンダードコース限定)。タブは拡張機能「起点つき集計」が ON のアプリに表示されます(設定が既にあるアプリは自動で ON になります)
  • 起点と窓: このアプリの日付フィールドと、窓の長さ(日・か月・年)を指定します
  • 集計元: 集計するアプリ・日付フィールド・絞り込み条件を指定します。日付が窓内にある行だけが対象です
  • 紐づけキー: このアプリの行と集計元の行を対応づけるフィールドの組(最大 3 組。例: 従業員フィールド同士)
  • 集計と書き戻し: 件数または数値フィールドの合計を、このアプリの数値フィールドへ書き戻します

時間状態(任意)

状態の書き戻し先フィールドを指定すると、窓の進行状態が自動で書き込まれ、通知条件や絞り込みに使えます。 「締切接近のリード日数」を設定すると、窓の終了 N 日前から closing になります。

状態
pending
意味
窓がまだ始まっていない(起点日が将来)
状態
active
意味
窓が進行中
状態
closing
意味
窓の終了までリード日数以内(締切接近)
状態
closed
意味
窓が終了した

知っておくべき動き

  • 設定を無効化・削除しても、書き込み済みの値はクリアされず最終計算値のまま残ります
  • 集計対象が多すぎる場合(1 行あたり 5,000 行超)は、誤った値を書かないよう再計算を中止して管理者へ通知します。絞り込み条件を見直してください
  • 絞り込み条件に動的な値($TODAY() など)は使えません(窓自体が期間の役割を果たします)

勤怠パッケージでの利用例(年 5 日の取得義務)

勤怠管理パックの「有給休暇台帳」には、付与日(基準日)を起点に 1 年の窓で勤怠申請の有給取得日数を数える設定が入っています。 窓の終了 60 日前(closing)になっても取得日数が 5 日未満の従業員がいると、担当者へ通知が届きます。 判定は従業員ごとの付与応当日基準なので、「直近 12 か月」の近似よりも正確なタイミングで通知されます(月次サマリの近似列は概況表示として残っています)。 最低取得日数(5 日)はアプリ定数 paid_min_days で変更できます。