スポンサーリンク

【pleasanter】サマリ機能って簡単・便利!

プリザンター
スポンサーリンク
※当サイトは広告を含みます

※おことわり
2026年2月時点の情報です。プリザンターのバージョンは 1.4.23.3 です。Google Chrome でやっています。
javascript,html,cssともに初心者です。調べながら、やってみながら、きっとこうすればいいんだ!という感じで書いていますので、間違っている、または効率的な書き方ではない可能性が大いにあります。間違ってるよ!とか、こうしたほうがいいよ!ということがありましたら、コメント等で教えていただけると大変ありがたいです。

1.はじめに

プリザンターの「サマリ機能」を知っていますか?使っていますか?私は、何に使うんだろう?って、いままで全く使っていませんでした。

先日、フォーム機能を試すのにプリザンターのデモ環境をお借りし、その中にサンプルテーブルがいくつか入っていたので見ていました。その中に「消耗品管理の例」があり、サマリを使って在庫数を増減させているのをみてー「ほー。こう使うのか!便利!」とようやく理解しました。

で、サマリ機能を使っていろいろやってみました!

2.サマリ機能の概要

公式マニュアルより

概要
リンクが設定された「子テーブル」の「レコード」の件数や数値項目の合計、平均、最大、最小を「親テーブル」のリンクした「レコード」の数値項目に格納します。サマリはリンク先の子レコードが追加、更新、削除された際に動作します。

引用元:https://pleasanter.org/ja/manual/table-management-summary

プリザンターのサマリ機能は、リンクで関連付けされた「子テーブル」のデータを集計し、その結果を親テーブルに自動で反映する機能です。

具体的には、子テーブルのレコードのついて
・件数
・数値項目の 合計、平均、最大、最小
といった集計結果を親テーブル側の数値項目に保存できます。

サマリは子レコードが追加、更新、削除されたタイミングで自動実行されるため、集計結果を手動で更新する必要がありません。
この機能はリンクで連結されたテーブル同士でのみ動作します。

注意することとしては、以下の点があります。
・合計、平均、最大、最小 の対象にできるは 数値項目 のみ。
・リンク項目が複数選択の場合は、正しく集計できない。
・サマリは1階層(親子)のみ有効。親、子、孫のように多段階では機能しない。
・サマリ設定前に子レコードが存在する場合は「同期」を使って、既存データを再集計する必要がある。

3.やってみた

(1)研修・セミナー契約管理 でやってみた

想定シチュエーション

研修やセミナーを行う会社。研修の販売(契約)記録。行っている研修一覧があり、それぞれ参考金額があるが、販売先により販売価格が違う。

用意したサイト

■ 研修・セミナー一覧:研修、セミナー名、参考価格のマスタ。ここに販売記録テーブルの状況を反映していく。

■ 販売管理:契約した「研修名」「契約日」「販売金額」を入力していく。「研修・セミナー一覧」テーブルをリンクしている。

テーブル設計

販売管理の分類Aを「研修・セミナー一覧」サイトにリンクさせています。本筋とは関係ありませんが、Lookupで「参考価格」も持ってきています。自動ポストバックはお好みで。

さて、サマリを設定していきます。
マスタ側に設定しそうになりましたが、サマリの設定をするのは 「販売管理」テーブルのほうです!
サマリを設定するのは、サマリ計算のトリガーとなる動きをする子テーブルのほうです!

販売件数を集計して表示する設定

「販売管理」サイト>テーブルの管理>サマリタブ

①新規作成をクリック

②左側 [データ保存先] にはマスタテーブルの数値項目が選択できるようになっています。
こちらに『計算結果を表示したい項目』を選択します。

[サイト]にはすでに「研修・セミナー一覧」がセットされています。
リンクテーブルが複数ある場合は、ここで複数のテーブルが選択肢として表示されます。

[項目]には、「販売件数合計」を選択しました。

③右側 [販売管理テーブル] は現在のテーブルです。
[リンク項目]には『リンクさせている項目』、[サマリ種別]に『集計の種類(件数、合計、最大、最小、平均)』を選択します。
今回はデータの個数を計算したかったので、[リンク項目]は「研修名」、[サマリ種別]は「件数」を選択しました。

④「追加」ボタンをクリックします。

つづけて合計、最大、最小、平均を設定してきます。
まずは、合計からやっていきます。

①新規作成をクリック

②左側[データ保存先]の設定
[サイト]には「研修・セミナー一覧」
[項目]には「販売金額合計」を選択

③右側[販売管理テーブル]の設定
[リンク項目]は「研修名」
[サマリ種別]に「合計」
「合計」「最大」「最小」「平均」を選択すると、[サマリ項目]を選択する欄が追加表示されます。
[サマリ項目]には集計したい項目「販売価格」を選択します。

同様に、「販売金額最高」ではサマリ種別「最大」を、「販売金額最低」ではサマリ種別「最小」を、「販売金額平均」ではサマリ種別「平均」を選択してサマリを追加していきます。

5つのサマリが設定されました。

さて、すでに「販売管理」テーブルではいくつかデータを入力済でしたので、「同期」をクリックします。
同期したいサマリにチェックを入れるのを忘れずに!(だいたい忘れて怒られる)

こちらが「販売管理」テーブル

いよいよ!「研修、セミナー一覧」を見てみると!

おお!計算結果が自動的に反映されている!素敵!

ビューを利用して条件付きの集計をする

これまでやってきたものは、単純に「販売管理」テーブルに入力されたすべてのレコードを集計しています。
ビューを使うことで、場合分けして集計することもできます。

■ やりたいこと

販売管理テーブルで [状況] が「100,提案中」のレコードを、「研修・セミナー一覧」テーブルの [提案中件数] で集計。
販売管理テーブルで [状況] が「900,契約完了」のレコードを、「研修・セミナー一覧」テーブルの [販売件数合計][販売金額合計][販売金額最高][販売金額最低][販売金額平均] で集計。

ビューを設定する

まず、ビューを設定します。

テーブルの管理>ビュー のタブで「新規作成」
ビューの「フィルタ」のタブで [状況]が「提案中」の条件を設定します。名称は「提案中」としました。

同様に、[状況]が「契約完了」のビューも設定します。

サマリを追加、変更していきます。

[提案中件数]

「新規作成」で[提案中件数]を追加します。
[サマリ種別] は「件数」、そして [条件] に ビュー「提案中」を選択します。

[契約完了の集計]

次に、先ほど設定した合計金額などに「契約完了」の条件を追加していきます。
設定したサマリを開き、[条件]に「契約完了」をセットし「変更」ボタンをクリックします。

なお、[条件]の設定欄はビューを設定していないときは表示されません。なので、設定の順番はビューを設定してからサマリを設定する、という流れになります。

サマリの設定が完了しました。

研修・セミナーサービス一覧サイトで、結果を見てみましょう!おお、できてる!

ちょっと検証してみた

ちょっと試してみたこと

子テーブルのレコードを削除したらどうなる?

親テーブルのサマリ計算からも削除レコードの件数、金額が差し引かれました。
サマリの設定をしている場合、データがたまってテーブルが重くなったから等と、不用意にレコードを削除して計算がおかしくならないように、注意して扱わないといけませんね。

4.サンプルを作ってみた

ためしに、サマリがお役立ちしそうな例を考えて、作ってみました!

(1)備品管理

申請・使用データを子テーブルに集約し、サマリ機能で数量を集計することで、在庫を自動管理!
ポイントは [サマリ] と [計算式] の合わせ技、というところです。

①テーブルの設定

「消耗品使用申請」「備品管理テーブル」「入庫管理」の3つのテーブルを用意します。

②計算式の設定

備品管理テーブルに計算式を設定しておきます。ここ、結構重要!
[入庫数] から [申請数] を減算することで [在庫数] を算出する計算式を設定しておきます。

サマリの設定

消耗品使用申請テーブル

データ保存先:備品管理テーブルの「利用数」

リンク項目は「品名」、サマリ種別は「合計」、サマリ項目は「申請数」

消耗品使用申請テーブルでの各品目の申請数の合計(累計)値が、親テーブル「備品管理テーブル」の各品目の「利用数」に表示される、ということになります。

入庫管理テーブル

データ保存先:備品管理テーブルの「入庫数」

リンク項目は「品名」、サマリ種別は「合計」、サマリ項目は「入庫数」

入庫管理テーブルでの各品目の入庫数の合計(累計)値が、親テーブル「備品管理テーブル」の各品目の「入庫数」に表示される、ということになります。

さらに、備品管理テーブルの「計算式」で「入庫数」-「利用数」の値が、「在庫数」として表示される、ということになります。

やってみる

まず、入庫管理テーブルを操作して備品管理テーブルの各品目の在庫数を入れておきます。
備品管理テーブルの「入庫数」が増えると同時に「在庫数」も増えています。

さて、利用申請テーブルで申請をしてみます。
申請後に備品管理テーブルを見ると「利用数」が増えて、「在庫数」が利用した分だけ減っているのが分かります。

簡単に在庫管理ができますね!
今回はやりませんでしたが、利用申請の状況が「保留」や「取り下げ」の場合は、サマリに含めない、とかビューを利用してやってもよいですね。
また、補充基準数を下回ったら担当者に「通知」するとか、もいいですね(サマリとは関係ありませんが)
プリなまにありました。ここでも消耗品管理のサマリについて触れられています。(題材が同じになっちゃった~)
簡単なサーバースクリプトで実装できています。
プリザンターで在庫数が一定の数値になったらメールで通知する

(2)システム保守記録

親テーブル:保守対象システム一覧
子テーブル:保守記録

子テーブルで保守の記録を管理。親テーブルには各システムの保守対応件数、重大トラブル件数などを自動集計する。
チェック項目で重大トラブルを判定し、ビュー条件と組み合わせることで、通常対応と重大障害を分けて集計しています。

①テーブルの設定

余談ですが、集計で全体の件数がぱっとわかるようにしておくとグーですね。

②ビューの設定

子テーブル「保守管理テーブル」でビューを設定します。
後ほど設定する「サマリ」で『条件』として利用します。

重大案件:フィルタで [重大障害フラグ=オン]
未完了:フィルタで [対応状況=未完了 or 対応中]

③サマリの設定

3つ設定します。

1)保守対応件数:システム毎の保守対応件数を記録します。保守記録テーブルのシステム毎のレコード数です。

2)うち重大トラブル件数:保守記録テーブルのレコードのうち、「重大障害フラグ」のチェックがオンになっているシステム毎の件数。条件にビュー[重大案件]を指定しています。

3)対応中案件数:保守記録テーブルのレコードのうち、[対応状況]が「未着手」「対応中」となっているレコードのシステム毎の件数。条件にビュー[未完了]を指定しています。

④利用イメージ

「保守記録テーブル」のレコードの内容が、自動的に「システム管理テーブル」に反映されています!

5.さいごに

今回は、プリザンターのサマリ機能について、やってみました。

設定がびっくりするくらい簡単!データ入力、更新に連動して自動的に集計が行われるので便利!
条件の設定の組み合わせ等、工夫次第でいろんな使い方ができそう!

簡単なので、ぜひ一度試してみてください!やってみると、「あ!こんな時にも使える!」といろいろアイデアがわいてきます!

6.参考文献、記事

公式マニュアルより
テーブルの管理:サマリ

プリザンターの使い方【初級編その4】サマリ機能を使って登録した数値を自動集計しよう!
FAQ:親<-子<-孫とテーブルをリンク設定しているとき、孫テーブルのサマリ結果が親テーブルに反映されない

参考とさせていただいたサイト
【プリザンター】 第271回)サマリを使った進捗率自動計算
プリザンターのサマリ計算をしてみる
プリザンターで子テーブルの合計値を親テーブルにサマリ表示する方法(ビューの使い方解説あり)

もう読みました?プリザンターの概要、インストール方法から基本操作方法、導入事例、サンプル等役に立つ情報が満載!

!– START MoshimoAffiliateEasyLink –>

コメント

タイトルとURLをコピーしました