みんなの投稿

・スタンダードコース契約予定
・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』のコミュニティへお願いいたします

2件のコメント (新着順)

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

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


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

「イベント参加者管理」に案内を送る担当者を登録する想定です。
(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/03 20:16

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

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

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

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

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

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