テーブルの複数科目の組み合わせ集計

下記のテーブルをもとに、カウントしたい内容のフィールドに表示させたと思っております。
ご教示よろしくお願いします。

案件番号(ルックアップ)で下記の★が取得される
★募集区分(ラジオボタン):グループ・他社
★会社名(文字列(1行)):㈱A ㈱B ㈱C ㈱D ㈱E の5パターン
★都道府県(文字列(1行)):東京都 神奈川県 千葉県 埼玉県 の4パターン
★営業担当(ドロップダウン):あ・い
対応(ドロップダウン):受注・稼働
要不要(ドロップダウン):要・不要
人数(数値):1 等が入る

カウントしたい内容は下記となります。

こんにちは。

お知らせいただいた内容から、やりたいことの詳細が理解できなかったのですが、
テーブルの値を条件に応じて集計したい場合、以下のページが参考になるかと思います。

別のアプリからテーブルデータを取得したい場合には、
以下のページを確認してみてくださいー

ko_ji様

ご返信ありがとうございます。
実は下記のようなコードで運用していて、
●媒体をドロップダウン→文字列(1行)
●募集区分をドロップダウン→ラジオボタン
に変更した場合のコードの書き方を知りたくて質問しました。
よろしくお願いいたします。

(() => {
  'use strict';

  let subTable = '媒体別'; // サブテーブルのフィールドコード
  let medium = '媒体'; // 媒体のフィールドコード
  let recruitment = '募集区分'; // 募集区分のフィールドコード
  let reaction = '対応'; // 対応のフィールドコード
  let count = '人数'; // 人数のフィールドコード

  let mediumValues = [  'A','B', 'C', 'D', 'E'];
  let recruitmentValues = ['グループ', '他社'];
  let reactionValues = ['反響', '登録', '事訪', '成約', '稼働'];

   let events = [];

  [medium, reaction, recruitment,  count].forEach((field) => {
    events.push(`app.record.create.change.${field}`, `app.record.edit.change.${field}`);
  });

  kintone.events.on(events, (event) => {
    let record = event.record;
    let sums = {};

    mediumValues.forEach((mediumValue) => {
      sums[mediumValue] = {};

      recruitmentValues.forEach((recruitmentValue)=> {
        sums[mediumValue][recruitmentValue] = {};

          reactionValues.forEach((reactionValue) => {
            sums[mediumValue][recruitmentValue][reactionValue] = 0;
          });
        });
      });

    record[subTable].value.forEach((row) => {
      if (!row.value[medium].value || !row.value[recruitment].value || !row.value[reaction].value || isNaN(row.value[count].value)) return;

      sums[row.value[medium].value][row.value[recruitment].value][row.value[reaction].value] += Number(row.value[count].value);
    });
    
  Object.keys(sums).forEach((medium) => {
      Object.keys(sums[medium]).forEach((recruitments) => {
        Object.keys(sums[medium][recruitments]).forEach((reactions) => {
          let sum = medium + recruitments + reactions;

          if (record[`${sum}数`]) record[`${sum}数`].value = sums[medium][recruitments][reactions];
        });
      });
    });
    return event;
  });
})();

各フィールドのデータ形式については、以下のページに情報がまとまってますよー

上記ページを参考に、フィールド値参照部分を修正してみてもらえればと思います。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。