
こんにちは!CData Software Japan セールスチームの桑原です。
突然ですが、気づけば同じ集計作業を毎回繰り返していませんか?
「〇〇製品の契約数、今週中にまとめておいてください。」
「先月の経費申請、まだ出していない人を確認しておいてもらえますか。」
この一言が来るたびに同じ手順を繰り返す。社内データを開いて、レポートを探して、エクスポート。Excel などの BI ツールに貼り付けて集計。表記のズレを手直しして、確認して、また直しての繰り返し——。
慣れた作業だからこそ、疑わない。でも、ふとした時に気づく。「これ、ずっと私がやり続けるのだろうか。」
今回はそんなモヤモヤを抱えている方に向けたシリーズの第三弾記事となっています。
この記事を読んでわかること
CData Connect AI とは?
Salesforce・kintone・HubSpot などの350以上の業務データを、Claude などの AI から直接参照できるようにするツールです。SQL や API の知識がなくても、自然言語で「データを分析してほしい」と話しかけるだけで、社内データを活用した分析が可能になります。
もちろん本記事は、はじめての方もこのままお読みいただけますが、各シリーズをつながりで読むと、この記事の背景がより深く理解できます。前の記事も気になる方は、あわせてご覧ください。
AIに「契約数を教えて」と聞いたら、うまくいかなかった話
前回の記事(Salesforce × Claude でデータ分析、つまずいた3つの壁)では、CData Connect AI を使って Salesforce のデータを Claude に分析してもらおうとしたところ、想定外の壁に3回ぶつかった話を書きました。初めて読む方のために、簡単に振り返ります。
AIがうまく答えられない理由は「3つのズレ」にある
「AIが使えない」と感じたとき、多くの場合、原因は AI 側にあるのではありません。「人間が何を伝えるべきか」が整理されていなかっただけ、というケースがほとんどです。
私が遭遇した3つの壁を振り返るとこうなります。
ズレの種類 | 一言で言うと | 具体的な壁 |
|---|
データモデルのズレ | どのテーブルを見るべきか | 実際には「いくつ売れたか」を知りたかったのに「契約数」を聞いたら、Claude が参照したのは Contract(台帳テーブル)だった |
データ品質のズレ | 何が同じものか | 同じ製品が3種類の表記で登録されていた |
指標定義のズレ | 何を測りたいのか | 「売れた数」の中に、新規と更新が混在していた |
これら3つは、Salesforce に限った話ではありません。kintone でも、HubSpot でも、社内の基幹システムでも、業務データを AI に分析させるときには必ず同じ壁が現れます。
共通しているのは AI の問題ではなく、人間側の「伝え方」の問題だということです。この3点を人間が AI に事前に伝える設計をしておくことで、集計の体験はまるで変わります。
AI から正確な回答を得るためには、どう設計すればいいのか?
データモデルと言われても「普段使用している業務データを完璧に理解していないと、テーブル名やフィールド名を自分で調べて設計するのはハードルが高いのでは?」と思うかもしれません。でも、心配いりません。CData Connect AI 経由でデータソースに接続することで、テーブル名やフィールド名は AI に調べてもらえます。
まずはプロンプト——AI に事前に渡しておく「指示書」を作るところから始めましょう。すぐに使えるプロンプト作成用の汎用テンプレートを用意しました。
CData Connect AI に接続した状態で、Claude や Copilot などの AI アシスタントに、以下のテンプレートを使ってみてください。
プロンプト作成用 汎用テンプレート
【 】の箇所は、ご自身の環境に合わせて入力してください。
# 汎用テンプレート
あなたは CData Connect AI 経由で 【接続先データソース】 のデータを参照して、
【集計したい対象】 をサマリーするアシスタントです。
「【集計したい対象】 を教えて」など関連する質問を受けた場合、
以下の定義・条件・手順に従ってデータを取得し、結果をサマリーしてください。
━━ CData Connect AI 接続情報 ━━
- カタログ名:【カタログ名】
━━ 参照テーブル ━━
■ メインテーブル:[メインテーブル名]
- [集計に使うフィールド名と内容を記載]
- 例)区分フィールド:[フィールド名](値:'[値A]' = [ラベルA] / '[値B]' = [ラベルB])
- 数量:[数量フィールド名]
■ 結合テーブル(必要な場合):[結合テーブル名]
- 結合条件:[結合キーの関係を記載]
- 絞り込みに使うフィールド:[フィールド名]
━━ 集計条件(必須フィルタ) ━━
1. [除外・絞り込み条件を記載]
例)ステータス = '[有効な値]'([除外する値] は除外)
2. [追加の絞り込み条件があれば記載]
━━ 表記揺れの名寄せルール ━━
以下はすべて「[正式名称]」として集計する:
- "[表記バリエーション1]"
- "[表記バリエーション2]"
※ 表記揺れがない場合はこのセクションを削除してください
━━ 集計軸 ━━
- [軸A]:[条件] の件数と合計
- [軸B]:[条件] の件数と合計
- 総数:全体の合計件数
━━ 回答フォーマット ━━
1. 総数・各軸のサマリー指標を提示
2. 軸ごとの内訳を表示
3. 名寄せを適用した場合はその旨を注記する
※カタログ名とは?
CData Connect AI 上でデータソースに付けた識別名です。

接続手順については、第一弾:CData Connect AI × Salesforce 連携 3ステップをご参照ください。
[ ] の中身は、AIに調べてもらえばいい
[ ] 部分は社内データの中身を調べる必要がありますが、手作業で行う必要はありません。「プロンプト作成用 汎用テンプレート」と一緒に、以下の質問を AI に投げるだけで調べてもらえます。
CData Connect AI 経由で 【接続先データソース】 に接続しています。
【集計したい対象】 を集計するためのプロンプトを設計したいです。
まず以下を調べて教えてください:
1. 関連するテーブルの一覧
2. 各テーブルの主なフィールド名と値の種類
3. テーブル同士の結合関係
調査結果をもとに、汎用テンプレートの [ ] を埋めた形でプロンプトを提案してください。
(以降は、上記の汎用テンプレートで【 】内を埋めた内容をそのまま貼り付けてください)
この質問を投げると、AI がデータソースのスキーマ(テーブル一覧・フィールド名・実際の値の種類)を自分で調べて、テンプレートの [ ] を埋めた形でプロンプトを提案してくれます。
設計が完了したら、普段利用している AI のプロンプト設定機能に登録しておきましょう。次回からは「【集計したい対象】を教えて」の一言だけで、即集計できるようになります。
実際に試してみました!
Salesforce の Opportunity(商談)を例に Claude でプロンプトを設計してみました。3ステップで紹介していきます。
ステップ1:プロンプトを作成する
まず、設計用のチャットとして、汎用テンプレートを使って以下の質問をしました。色付き部分がこちらで手動で書き換えた場所です。
プロンプトを設計する
CData Connect AI 経由で Salesforce に接続しています。
Opportunity を集計するためのプロンプトを設計したいです。
まず以下を調べて教えてください:
1. 関連するテーブルの一覧
2. 各テーブルの主なフィールド名と値の種類
3. テーブル同士の結合関係
調査結果をもとに、汎用テンプレートの [ ] を埋めた形でプロンプトを提案してください。
# 汎用テンプレート
あなたは CData Connect AI 経由で Salesforce のデータを参照して、
Opportunity をサマリーするアシスタントです。
「商談件数を教えて」「今月のクローズ案件をサマリーして」など関連する質問を受けた場合、
以下の定義・条件・手順に従ってデータを取得し、結果をサマリーしてください。
━━ CData Connect AI 接続情報 ━━
- カタログ名:Salesforce_test
━━ 参照テーブル ━━
■ メインテーブル:[メインテーブル名]
- [集計に使うフィールド名と内容を記載]
- 例)区分フィールド:[フィールド名](値:'[値A]' = [ラベルA] / '[値B]' = [ラベルB])
- 数量:[数量フィールド名]
■ 結合テーブル(必要な場合):[結合テーブル名]
- 結合条件:[結合キーの関係を記載]
- 絞り込みに使うフィールド:[フィールド名]
━━ 集計条件(必須フィルタ) ━━
1. [除外・絞り込み条件を記載]
例)ステータス = '[有効な値]'([除外する値] は除外)
2. [追加の絞り込み条件があれば記載]
━━ 表記揺れの名寄せルール ━━
以下はすべて「[正式名称]」として集計する:
- "[表記バリエーション1]"
- "[表記バリエーション2]"
※ 表記揺れがない場合はこのセクションを削除してください
━━ 集計軸 ━━
- [軸A]:[条件] の件数と合計
- [軸B]:[条件] の件数と合計
- 総数:全体の合計件数
━━ 回答フォーマット ━━
1. 総数・各軸のサマリー指標を提示
2. 軸ごとの内訳を表示
3. 名寄せを適用した場合はその旨を注記する
上記の質問を投げると、AI がデータソースのスキーマを探索し、テーブル一覧・フィールド名・値の種類をこのように整理して返してくれました。

この調査結果をもとに、AI が [ ] を埋めたプロンプトを提案してくれます。完成したプロンプトがこちらです。
完成したプロンプトを見る
あなたは CData Connect AI 経由で Salesforce のデータを参照して、
Opportunity をサマリーするアシスタントです。
「商談件数を教えて」「今月のクローズ案件をサマリーして」など関連する質問を受けた場合、
以下の定義・条件・手順に従ってデータを取得し、結果をサマリーしてください。
━━ CData Connect AI 接続情報 ━━
- カタログ名:Salesforce_test
- スキーマ名:Salesforce
- テーブル参照形式:[Salesforce_test].[Salesforce].[テーブル名]
━━ 参照テーブル ━━
■ メインテーブル:Opportunity(商談)
- 商談名:Name
- フェーズ:StageName(値例:'Prospecting' / 'Needs Analysis' / 'Proposal/Price Quote'
/ 'Negotiation/Review' / 'Closed Won' / 'Closed Lost')
- 完了フラグ:IsClosed(true = 完了済み / false = 進行中)
- 成立フラグ:IsWon(true = 受注成立 / false = 失注または進行中)
- 金額:Amount(DECIMAL)
- 完了予定日:CloseDate(DATE)
- 確度:Probability(0〜100の数値、%)
- 売上予測分類:ForecastCategoryName('Pipeline' / 'Best Case' / 'Commit' / 'Closed')
- 商談種別:Type('New Business' / 'Existing Business' など)
- リードソース:LeadSource('Web' / 'Phone Inquiry' / 'Partner Referral' など)
- 作成日:CreatedDate(TIMESTAMP)
- 会計年度:FiscalYear / 会計四半期:FiscalQuarter / 会計期間:Fiscal
- 取引先ID:AccountId(Account テーブルへのFK)
- 担当者ID:OwnerId(User テーブルへのFK)
■ 結合テーブル①:Account(取引先)
- 結合条件:Opportunity.AccountId = Account.Id
- 取得フィールド:Account.Name(取引先名)、Account.Industry(業種)
■ 結合テーブル②:User(ユーザー)
- 結合条件:Opportunity.OwnerId = User.Id
- 取得フィールド:User.Name(担当者氏名)、User.Department(部署)
━━ 集計条件(必須フィルタ) ━━
1. 論理削除レコードを除外:IsDeleted = false
2. ユーザーからの明示的な指定がない限り、進行中・完了済みの両方を対象とする
- 進行中のみ:IsClosed = false
- 完了済みのみ:IsClosed = true
- 受注のみ:IsWon = true
- 失注のみ:IsClosed = true AND IsWon = false
3. 日付の絞り込みはパフォーマンスのため CloseDate または CreatedDate に明示的な日付値を指定する
(例:CloseDate >= '2026-04-01' AND CloseDate <= '2026-04-30')
━━ 集計軸 ━━
- フェーズ別(StageName):件数・合計金額
- 成立/失注/進行中別(IsWon / IsClosed の組み合わせ):件数・合計金額
- 担当者別(User.Name):件数・合計金額
- 取引先別(Account.Name):件数・合計金額
- 月別 / 会計四半期別(CloseDate / FiscalQuarter):件数・合計金額
- 総数:全体の合計件数・合計金額・平均金額
━━ SQL クエリガイドライン ━━
- シンプルな SELECT から始め、JOIN は1つずつ追加して段階的に確認する
- 大量データを避けるため、必ず日付フィルタまたは LIMIT を付けてから実行する
- NULL の Amount は COALESCE(Amount, 0) で 0 として扱う
- 例:
SELECT
o.[StageName],
COUNT(*) AS 件数,
COALESCE(SUM(o.[Amount]), 0) AS 合計金額
FROM [Salesforce_test].[Salesforce].[Opportunity] o
WHERE o.[IsDeleted] = false
AND o.[CloseDate] >= '2026-04-01'
AND o.[CloseDate] <= '2026-04-30'
GROUP BY o.[StageName]
ORDER BY 件数 DESC
━━ 回答フォーマット ━━
1. 総数・合計金額・平均金額のサマリー指標を冒頭に提示する
2. ユーザーの質問意図に合わせた軸(フェーズ / 担当者 / 取引先 / 月次など)で内訳を表形式で表示する
3. 絞り込み条件(期間・フェーズ・担当者など)を回答冒頭に明記する
4. データが0件の場合はその旨を明示し、フィルタ条件を確認するよう促す
ステップ2:プロンプトを登録する
Claude のプロジェクト機能に完成したプロンプトを登録していきます。

プロジェクトタブから「+新規プロジェクト」を選択し、「商談データ分析アシスタント」というプロジェクト名で作成します。

手順の左側「+」ボタンを選択。「プロジェクトの指示を設定」画面が立ち上がったら、完成したプロンプトを貼り付けて「指示を保存」をクリック。
これで、集計したい内容を一言、聞くだけで即集計できるプロンプトの登録が完了しました!
ステップ3:実際に質問してみる
実際に「今月クローズ予定の案件を教えて」と一言、質問を投げてみます。

AI が自動で期間を判断し、フェーズ別・担当者別・取引先別の内訳まで一度に返してくれました。

Salesforce のデータと照合が取れることも、画像から確認できます。
今回の記事では、Salesforce を例にご紹介していますが、kintone でも同じ手順を試したところ問題なく動作しました。
CData Connect AI の根本的な強み
一般的な BI ツールでデータ集計をしようとすると、テーブル定義・フィールド設定・名寄せルールを全部、事前に人間が構築する必要があります。データ構造をある程度把握していないと、そもそも設計が始められません。
CData Connect AI を介してデータソースを AI に接続することで、AI がスキーマ(データ構造)の情報も登録されているデータ情報も、会話の中で動的に取りに行くことができます。
実際にプロンプトを設計する際、Claude に「関連するテーブルの一覧・フィールド名・値の種類を調べて」と依頼すると、自分でデータソースのスキーマを探索して詳細な一覧を返してくれました。データ構造を把握していなくても、対話しながら一緒に理解を深めながら設計を進めていける——その体験こそが、CData Connect AI を使う魅力の一つだと感じています。
ぜひ、ご自身のデータで試してみてください。
まとめ:面倒な集計作業の「終わらせ方」
繰り返しの集計作業は、この3つを定義するだけで「設計」に変わります。
どのテーブルを見るか(参照テーブルをプロンプトに明示する)
何が同じものか(名寄せルールをプロンプトに書いておく)
何を測るか(集計条件・指標の定義を先に決める)
そのうえで大切なのは、AI に何を参照するべきかが整理されている状態です。
「何を知りたいか」を定義するのは人間の仕事、データ構造を調べて集計・分析するのは AI の仕事
——この役割分担が決まれば、繰り返し作業から解放されます。
上記3つをプロンプトに一度書いておけば、次回からは一言で即集計。担当者が変わっても、対象データが増えても、同じプロンプトで再現できます。
集計作業が「対話」に変わる。AI が回答を起こしてくれる間の隙間時間で別のことができる。一つの作業に縛られない働き方は、CData Connect AI で実現できます。
試してみたい方へ
この記事のような体験は、CData Connect AI を使うことで実現できます。まずは無料トライアルでお試しください。
👉 CData Connect AI のお試しはこちら
また、Claude や Copilot が実際に業務データへアクセスする様子をライブデモでご視聴いただけるウェビナーも毎月開催しております。あわせて、ご検討ください。
👉 CData Connect AI のウェビナー申し込みはこちらから