キンコミ kintone user community

みんなの投稿

・スタンダードコース契約予定
・TISの関連レコード一覧フィールド集計プラグインの結果から重複の件数を除外したい

イベントを開催する際に予約社数と予約人数を集計しています。
予約人数はそのままレコードの件数を集計すればいいので問題ないのですが、
予約社数が社数で集計したいのですが、重複を除いて集計が出来ず困っています。

(例)下記レコード情報の場合、以下のように集計したいです。
予約社数:3社
予約人数:4人

「レコード情報」
企業ID 企業名 担当者ID 担当者名 予約状況
1 株式会社A 1 担当者A 予約
2 株式会社B 2 担当者B 未予約
2 株式会社B 3 担当者C 予約
2 株式会社B 4 担当者D 予約
3 株式会社C 5 担当者E 未予約
3 株式会社C 6 担当者F 予約

データの件数は1回あたり数百程度になります。

アプリは「イベント管理」と「イベント参加者管理」の2つです。
集計結果は「イベント管理」のレコード内で確認しています。

・譲れない条件(プラグインは使えない等)
可能な限り同一アプリ内で処理したいです

※プログラム開発やコーディングに関する話題は『cybozu developer network』のコミュニティへお願いいたします

4件のコメント (新着順)
ふゆき
製造業
2025/04/08 09:32

方法C を思いつきました(2つのアプリで集計)

①CSVから
 「イベント参加者管理」アプリにDataを取込み

アプリ間レコード集計プラグイン
 ❶[イベント管理]アプリへ集計する
 --- 集計するのは、イベント ID & 企業ID 毎の 予約者数

③❶アプリ内、計算式_IF(予約人数_計>=1,1,0)_を動作させる為
「一覧レコード一括更新/クリアプラグイン」の一覧上の釦の押下げ

④デフォルトの「グラフ・集計表」機能で、目的の集計を行う

----------
この方法が、ベストかな~
理由=GForce/GoogleFormsでkintone操作
が使えるので、「表記ゆれ」防止=各IDが入力していれば
CSVでDataの取込みする必要がなくなる

-------------
追記です

[イベント管理]アプリのレコードを作成するときは
BulkReuse
利用するのが簡単だとおもいます

テーブルで処理できるのであれば、ふゆきさんの方法でよいのかと思いますが、
もし、各参加予定者が各個人で会社名や参加者名を入力して申し込みする場合だと、
データクレンジングだったり、別の方法の検討が必要になるかと思います。

このあたりってどうなのでしょうか?
 ・一人ひとりが個別に申し込み(同じ会社から他の申し込み者がいるかどうかわからない)
   →最初からテーブルを使ってのレコード作成ができない
 ・どの会社から申し込みがあるかわからず、会社リストのマスタを作っておくことができない
   →入力者の表記ゆれによって同じ会社か別の会社か判別できないケースが発生


ふゆき
製造業
2025/04/04 09:11

そうですね
わからないことが沢山あるので、
・「可能な限り同一アプリ内で処理したいです」
・「予約社数:3社」「予約人数:4人」
の集計方法のみを考えました

そして、
・ アプリは「イベント管理」と「イベント参加者管理」の2つ
  というアプリ構成で
・「TISの関連レコード一覧フィールド集計プラグイン」
  で、Data連携を考えいるようなので、代替として

「イベント参加者管理」➡「イベント管理」の場合は
複数レコードサブテーブル化プラグイン(TIS_条件付き無料)
を利用して、Data連携をされればいいかな~っと思い提案させていただきました。

お二人ともコメントありがとうございます。
情報が不足して申し訳ございません。

「イベント参加者管理」に案内を送る担当者を登録する想定です。
(1回につき平均3000名程度をcsvで取込×イベントの数
 ※イベントが同時並行で進む場合があるので)
その際のステータスを"未予約"としています。
そのため、どこの企業から申し込みがあるかは把握しておくことは可能です。

現行のシステムは案内の際にgoogleフォームを利用してエントリーを受け付けています。
その回答を日次で取込をします。
こちらの回答とデータベースの値は入力者の表記ゆれによって異なる場合があるので
これは目視で修正して取り込んでいます。(1回数十件程度×イベントの数)

案内を送る件数が多いのでテーブルでの管理はしていませんでした。
案内と予約を分けて考えればよいのかもしれませんが出来るならまとめておいた方が
いいと考えていました。



[イベント管理]_レコード情報
イベントID イベント名 目標企業数 呼び込み数 予約社数 予約人数
1 ○○○案内会 200社 3社 4人
2 ▲▲▲案内会 100社 2社 2人
            ↑が表示できるようになると嬉しいです。。

[イベント参加者管理]_レコード情報
レコード番号 イベントID イベント名 企業ID 企業名 担当者ID 担当者名 予約状況
1 1 ○○○案内会 1 株式会社A 1 担当者A 予約
2 1 ○○○案内会 2 株式会社B 2 担当者B 未予約
3 1 ○○○案内会 2 株式会社B 3 担当者C 予約
4 1 ○○○案内会 2 株式会社B 4 担当者D 予約
5 1 ○○○案内会 3 株式会社C 5 担当者E 未予約
6 1 ○○○案内会 3 株式会社C 6 担当者F 予約
7 2 ▲▲▲案内会 1 株式会社A 1 担当者A 予約
8 2 ▲▲▲案内会 4 株式会社D 7 担当者G 未予約
9 2 ▲▲▲案内会 4 株式会社D 8 担当者H 予約

ふゆき
製造業
2025/04/07 09:01

ある企業に複数の担当者がいて
参加予約をされている方が
 ① 1人以上いるのか?
 ⓪ いないのか(0人)?
という「判定」を、どの様にするのか
---を 考えた時

フィールド値の合計(集計)算出が必要です



方法A(2つのアプリで集計)SUM関数の利用
「イベント参加者管理」アプリでは
  イベントID&企業ID、毎にレコードを作成
  担当者IDを、テーブルで管理することで
  イベント毎、企業毎の予約人数の合計を算出(=SUM関数)
アプリ間レコード集計プラグインを利用して
[イベント管理]アプリへ集計する

但し、この場合はCSVでDataを取込み前に
(※1)  Data加工の必要があります---もりおす さんのご指摘の通り



方法B(3つのアプリで集計)SUM関数を利用しない
CSVから「イベント参加者管理」アプリにDataを取込み
仮称「企業毎の参加者集計」アプリに、事前集計後
[イベント管理]アプリへ集計する

この場合、各アプリ間で集計するのは
アプリ間レコード集計プラグインで行う



いずれも、自分の知識の範囲内で考えられる方法なので
添付画像(=自分ならこうする)を含めて、ご参考まで!

(※1) 添付、画像は
(テーブルにDataを)CSV取込みする場合のルールです。
❶左端の列は、項目名「レコードの開始行」(=行挿入)
❷企業毎に行がまとめてあり
❸❷の一番上の レコードの開始行 に「*」のフラグ

-----------------------
補足情報
kintone には「グラフ・集計表」という機能がありますので
もしかしたら、この機能で出来る🦆かもしれませんね

追記、あ~~
担当者(ID) を、table上で管理したうえで
「グラフ・集計表」機能を使えば
1つアプリで集計が可能🦆かも

ふゆき
製造業
2025/04/04 07:40

・TISの関連レコード一覧フィールド集計プラグインの結果から重複の件数を除外したい

は、できないかと思いますので

「イベント管理」アプリに
① テーブルを設け ---table仮称「イベント参加者」
② 計算[フィールド]を
  ❶❷レコード上に2つ
  ❸ table内に1つ(テンポラリフィールド)を 準備
   kintoneにSUMIF関数はありますか?
③ ①の中にイベント参加者を入力

 👆こんなアプリにすれば👇集計が可能です
    「予約社数:3社」「予約人数:4人」

使ったPluginは 一覧集計プラグイン(TIS_条件付き無料)

計算式は
❶ IF(予約人数_計>=1,1,0)  イベント参加_予約社数
  👆IF(予約人数_計>=1,1,0) ←コレが㊣
❷ SUM(予約数)       予約人数_計
❸ IF(予約_状況="予約",1,0)  予約数

添付検証画像を含めて、ご参考まで!

 画像の端が読めないときは、ココ を参照ください😊

----------------------

補足---アプリのData連携方法(対 table の )

「イベント管理」➡「イベント参加者管理」の場合は
テーブルデータコピープラグイン(TIS_条件付き無料)

「イベント参加者管理」➡「イベント管理」の場合は
複数レコードサブテーブル化プラグイン(TIS_条件付き無料)

----------------------
Seal777さんも、コメントされていましたが
マークダウンのコード記法が正常に表示されませんので
画像を1つ追加します


Seal777さんも、コメントされていましたが
マークダウンのコード記法が正常に表示されませんので

ホントですね、引用装飾がされないのに加えて、コードブロックがうまく効いてないようですね。

ちなみに、>は>のHTMLエンティティ(特殊記号)です。⇒逆変換されてしまってますね。

かな
建設業
2025/04/03 20:16

うーん、、関連レコード一覧を条件付きで集計することは出来ないので、
例えば誰か代表者を設定するなどはいかがでしょうか?

代表者を決められない(分からない)のであれば、最初に登録した人を代表者として設定するなどもありですね。

ただ、大元の予約アプリで登録されているかどうかを確認するのは面倒だと思うので、
予約アプリの方でも会社名で関連レコード一覧を作って、同じように集計プラグインを入れて、他に登録があれば集計するように設定します。
集計値が0の場合、、、と思ったのですが、レコードが追加される度に集計も更新されるという何とも有難い仕様のため、もう一手間。
代表者のチェックボックスを用意して基本は任意にします。

予約アプリの関連レコード一覧には、会社名、担当者名、代表者のチェックボックスを(最低限)表示させて、関連レコード一覧に代表者のチェックがない(0)場合に代表者を設定するようにアテンションを出すのが良いかな、と。

アテンションの出し方は同じくTISさんの条件分岐処理プラグイン
https://www.tis2010.jp/branchprocess/
を使うか、

例えば代表者を変更したいなどがある可能性があるのであれば、自動計算式(文字列(1行)フィールド)でチェックが0または2以上の場合は"代表者を設定してください"と表示させる、というのも良いかもしれませんね。