プリザンターのサマリ計算をしてみる

こんにちは。

リーデックスの志和です。

 

今回はプリザンターのサマリ機能を試してみたいと思います。

サマリを行う上で各テーブルの”リンク”が必要です。

リンク方法については以下に記事があります。

プリザンターのテーブル機能いろいろ その2 - オープンソースWebDBのプリザンター(pleasanter)ブログ

 

 

サマリとは

 元々は概要や集計といった意味があるようですが、

プリザンターでは集計の意味で使用されています。

使い方としては、リンク設定により親子関係の子にあたるテーブルの ある項目について、「件数の合計」「値の合計」「値の平均」「値の最小値」「値の最大値」を集計し、親テーブルに表示させることができます。

 

例えば、1つの案件を複数人で分担して作業を行うといった情報を管理する場合、

[案件管理]テーブル(親)に[作業管理]テーブル(子)が複数紐づくというテーブルが作成されると思います。

この時、[作業管理]テーブル(子)のそれぞれの作業時間の合計を知りたいといった時などにサマリが活用できます。

 

サマリの設定

それではさっそく設定方法を見てみましょう。

先ほどの例の通り、今回は[案件管理]テーブル(親)、[作業管理]テーブル(子)の2つのテーブルを作成してサマリを行いたいと思います。

 

サマリの設定は子のテーブル管理画面から行います。

今回の場合ですと、[作業管理]テーブル(子)です。

テーブルの管理画面を開いたら、[サマリ]タブを選び「新規作成」ボタンを押し、詳細設定い画面を開きます。

f:id:h-ogawa-reedex-co-jp:20181023173013p:plain

 

詳細設定画面を開いたら、"データ保存先"の設定と、"子テーブル"のサマリ設定を行います。

まずは"データ保存先"より、「サイト」「項目」を設定します。

「サイト」では、親テーブルの一覧が表示されます。

複数のテーブルとリンクしている場合は複数のテーブルがプルダウン表示されます。

「項目」では、サマリ計算を行った結果をどの項目に表示するかを選択します。

「サイト」で選択したテーブルの"数値項目"がプルダウン表示されます。

 

今回は、「サイト」を案件管理、「項目」を作業量に設定します。

f:id:h-ogawa-reedex-co-jp:20181023173912p:plain

 

次に、"子テーブル"の「リンク項目」「サマリ種別」「サマリ項目」を設定します。

「リンク項目」については、"データ保存先"の設定で「サイト」を選択すると自動で変更されるので、特に設定する必要はなさそうです。

「サマリ種別」では、件数・合計・平均・最小・最大の中からサマリ種別を選択します。

「サマリ項目」では、「サマリ種別」を件数 以外に設定した場合にどの項目について計算を行うかを選択します。

子テーブルの"数値項目"がプルダウン表示されます。

 

今回は、「[作業管理]テーブル(子)のそれぞれの作業時間の合計を知りたい」を実現するため、「サマリ種別」を合計、「サマリ項目」を作業量に設定します。

f:id:h-ogawa-reedex-co-jp:20181023175851p:plain

 

設定完了後、「追加」ボタンを押してテーブルの管理画面を表示し、

「更新」ボタンを押してテーブル設定を更新します。

※すでにレコードが登録されている場合は、各サマリ設定の左側にあるチェックボックスにチェックを入れたうえで「同期」ボタンを押すと、作成済みのレコードに対してもサマリ設定が適応されます

設定反映の確認

それでは実際にサマリ設定が反映されたかを確認します。

先ほど設定した親テーブルに保存されているレコードを開きます。

 

今回は[案件管理]テーブル(親)にあるレコードを開きます。

f:id:h-ogawa-reedex-co-jp:20181025160843p:plain

 

確認してみると、[案件管理]テーブルの"AAA案件"というレコードに[作業管理]テーブルの3つのレコードがリンクされており、「作業量」項目にはリンク先のレコードにある「作業量」の合計が表示されているのがわかります。

 

まとめ

いかがでしたでしょうか。

今回は合計を算出しましたが、件数であればリンク件数が算出されますし、指定した数値項目の平均や最小・最大も算出できます。

 

サマリと組み合わせて、以下の計算式を活用するとさらに出来ることが広がりそうですね。

プリザンターの計算式を活用してみる - オープンソースWebDBのプリザンター(pleasanter)ブログ

 

ここまで読んで下さり、ありがとうございました。