Upgrade to Pro — share decks privately, control downloads, hide ads and more …

レポート作成ワークショップ(サンプルデータ作成)

Avatar for Yoshi Yoshi
April 15, 2026
18

 レポート作成ワークショップ(サンプルデータ作成)

①②放置案件・ネクストアクション未定レポートのテストデータ
// 1. 新しく追加する3件の取引先
List newAccounts = new List{
new Account(Name = '旭川マニュファクチャリング株式会社', Industry = 'Manufacturing'),
new Account(Name = '函館リテールホールディングス', Industry = 'Retail'),
new Account(Name = '釧路フィナンシャルサービス株式会社', Industry = 'Finance')
};
insert newAccounts;
Date today = Date.today();
// 2. 新しい取引先に紐づく商談の作成
List newOpps = new List{
// 【データC: レポートにヒットする放置案件】
// 状態: オープン, 完了予定日: 今四半期
new Opportunity(
Name = '工場向けタスク管理ツール導入(旭川マニュファクチャリング)',
AccountId = newAccounts[0].Id,
StageName = 'Needs Analysis',
CloseDate = today.addDays(45),
Amount = 2500000
),
// 【データD: レポートにヒットしない正常進行案件】
// 状態: オープン, 完了予定日: 今月
new Opportunity(
Name = '店舗間コミュニケーション基盤(函館リテール)',
AccountId = newAccounts[1].Id,
StageName = 'Value Proposition',
CloseDate = today.addDays(10),
Amount = 1200000
),
// 【データE: 放置されているがクローズ済のためヒットしない案件】
// 状態: クローズ済(成立), 完了予定日は過去
new Opportunity(
Name = '全社プロジェクト管理基盤導入(釧路フィナンシャル)',
AccountId = newAccounts[2].Id,
StageName = 'Closed Won', // クローズ済みのためレポート対象外になるべき
CloseDate = today.addDays(-10),
Amount = 4000000
)
};
insert newOpps;
// 3. 活動(ToDo)の作成
List newTasks = new List{
// データC用: 最終活動日が「14日前」(7日以上経過のため放置判定)
new Task(
WhatId = newOpps[0].Id,
Subject = '要件ヒアリング(Web会議)',
Status = 'Completed',
ActivityDate = today.addDays(-14)
),
// データD用: 最終活動日が「昨日」(7日未満のため正常判定)
new Task(
WhatId = newOpps[1].Id,
Subject = 'デモ実施(対面)',
Status = 'Completed',
ActivityDate = today.addDays(-1)
),
// データE用: 最終活動日が「20日前」(商談完了済のため放置レポートには出ない)
new Task(
WhatId = newOpps[2].Id,
Subject = '契約書締結(メール)',
Status = 'Completed',
ActivityDate = today.addDays(-20)
)
};
insert newTasks;
System.debug('追加のテストデータ(3件)の投入が完了しました。');
③要フォロー案件レポートのテストデータ
// 1. 新しく追加する3件の取引先
List newAccounts = new List{
new Account(Name = '札幌クラウドデザイン株式会社', Industry = 'Technology'),
new Account(Name = '小樽オペレーションズ合同会社', Industry = 'Retail'),
new Account(Name = '帯広データソリューションズ株式会社', Industry = 'Finance')
};
insert newAccounts;
Date today = Date.today();
// 2. 新しい取引先に紐づく商談の作成
List newOpps = new List{
// 【データC: レポートにヒットする案件】
// 状態: オープン, 完了予定日: 今四半期
new Opportunity(
Name = 'FlowSuite SaaS導入プラン',
AccountId = newAccounts[0].Id,
StageName = 'Needs Analysis',
CloseDate = today.addDays(45),
Amount = 2500000
),
// 【データD: レポートにヒットする正常進行案件】
// 状態: オープン, 完了予定日: 今月
new Opportunity(
Name = 'InsightBoard 利活用パッケージ',
AccountId = newAccounts[1].Id,
StageName = 'Value Proposition',
CloseDate = today.addDays(10),
Amount = 1200000
),
// 【データE: クローズ済のためヒットしない案件】
// 状態: クローズ済(成立), 完了予定日は過去
new Opportunity(
Name = 'CoreSync 業務標準化パッケージ',
AccountId = newAccounts[2].Id,
StageName = 'Closed Won',
CloseDate = today.addDays(-10),
Amount = 4000000
)
};
insert newOpps;
// 3. 活動(ToDo)の作成
List newTasks = new List{
// データC用: 最終活動日が「Web会議」「訪問以外」
new Task(
WhatId = newOpps[0].Id,
Subject = 'メール',
Status = 'Completed',
ActivityDate = today.addDays(-14)
),
// データD用: 件名がWeb会議
new Task(
WhatId = newOpps[1].Id,
Subject = 'Web会議',
Status = 'Completed',
ActivityDate = today.addDays(-1)
),
// データE用: 件名が「Web会議」「訪問以外」
new Task(
WhatId = newOpps[2].Id,
Subject = '契約条件確認',
Status = 'Completed',
ActivityDate = today.addDays(-20)
)
};
insert newTasks;
System.debug('追加のテストデータ(3件)の投入が完了しました。');
④長期停滞案件レポートのテストデータ
// 1. 新しく追加する3件の取引先
List newAccounts = new List{
new Account(Name = '札幌ノースリンク株式会社', Industry = 'Technology'),
new Account(Name = '函館ベイデータ合同会社', Industry = 'Retail'),
new Account(Name = '旭川フロンティアシステムズ株式会社', Industry = 'Finance')
};
insert newAccounts;
// 基準日
Date today = Date.today();
// 2. 新しい取引先に紐づく商談の作成
List newOpps = new List{
// 【データC: レポートにヒットする案件】
new Opportunity(
Name = 'CloudFlow SaaS導入パッケージ',
AccountId = newAccounts[0].Id,
StageName = 'Needs Analysis',
CloseDate = today.addDays(45),
Amount = 2500000,
PhaseChangedDate__c = Date.newInstance(2026, 3, 5)
),
// 【データD: レポートにヒットしない正常進行案件】
new Opportunity(
Name = 'InsightHub 活用支援パッケージ',
AccountId = newAccounts[1].Id,
StageName = 'Value Proposition',
CloseDate = today.addDays(10),
Amount = 1200000,
PhaseChangedDate__c = Date.newInstance(2026, 4, 10)
),
// 【データE: クローズ済のためヒットしない案件】
new Opportunity(
Name = 'CoreSync 業務最適化パッケージ',
AccountId = newAccounts[2].Id,
StageName = 'Closed Won',
CloseDate = today.addDays(-10),
Amount = 4000000,
PhaseChangedDate__c = Date.newInstance(2026, 2, 28)
)
};
insert newOpps;
// 3. 活動(ToDo)の作成
List newTasks = new List{
// データC用:
new Task(
WhatId = newOpps[0].Id,
Subject = '要件確認',
Status = 'Completed',
ActivityDate = today.addDays(-14)
),
// データD用:
new Task(
WhatId = newOpps[1].Id,
Subject = '提案資料送付',
Status = 'Completed',
ActivityDate = today.addDays(-1)
),
// データE用:
new Task(
WhatId = newOpps[2].Id,
Subject = '契約条件整理',
Status = 'Completed',
ActivityDate = today.addDays(-20)
)
};
insert newTasks;
System.debug('追加のテストデータ(3件)の投入が完了しました。');
⑤決済者と会えていないレポートのテストデータ // 1. 新しく追加する3件の取引先
List newAccounts = new List{
new Account(Name = '札幌ノースエアライン株式会社', Industry = 'Technology'),
new Account(Name = '小樽マリンサービス合同会社', Industry = 'Retail'),
new Account(Name = '帯広グリーンシステムズ株式会社', Industry = 'Finance')
};
insert newAccounts;
// 基準日
Date today = Date.today();
// 2. 新しい取引先に紐づく商談の作成
List newOpps = new List{
// 【データC: レポートにヒットする案件】
new Opportunity(
Name = 'CloudFlow SaaS導入パッケージ',
AccountId = newAccounts[0].Id,
StageName = 'Needs Analysis',
CloseDate = today.addDays(45),
Amount = 3500000
),
// 【データD: レポートにヒットしない正常進行案件】
new Opportunity(
Name = 'InsightHub 活用支援パッケージ',
AccountId = newAccounts[1].Id,
StageName = 'Value Proposition',
CloseDate = today.addDays(10),
Amount = 1400000
),
// 【データE: クローズ済のためヒットしない案件】
new Opportunity(
Name = 'CoreSync 業務最適化パッケージ',
AccountId = newAccounts[2].Id,
StageName = 'Closed Won',
CloseDate = today.addDays(-1),
Amount = 5000000
)
};
insert newOpps;
// 3. 活動(ToDo)の作成
List newTasks = new List{
// データC用: 決済者と会えていない(レポートに出る)
new Task(
WhatId = newOpps[0].Id,
Subject = '要件整理',
Status = 'Completed',
ActivityDate = today.addDays(-14),
IsKeyPersonMeeting__c = false
),
// データD用: 決済者と会えている(レポートに出ない)
new Task(
WhatId = newOpps[1].Id,
Subject = '提案資料送付',
Status = 'Completed',
ActivityDate = today.addDays(-1),
IsKeyPersonMeeting__c = true
),
// データE用: 決済者と会えている(商談完了済のためレポートに出ない)
new Task(
WhatId = newOpps[2].Id,
Subject = '契約条件整理',
Status = 'Completed',
ActivityDate = today.addDays(-20),
IsKeyPersonMeeting__c = true
)
};
insert newTasks;
System.debug('追加のテストデータ(3件)の投入が完了しました。');

Avatar for Yoshi

Yoshi

April 15, 2026

More Decks by Yoshi

Transcript

  1. ①②放置案件・ネクストアクション未定レポートのテストデータ // 1. 新しく追加する3件の取引先 List<Account> newAccounts = new List<Account>{ new

    Account(Name = '旭川マニュファクチャリング株式会社', Industry = 'Manufacturing'), new Account(Name = '函館リテールホールディングス', Industry = 'Retail'), new Account(Name = '釧路フィナンシャルサービス株式会社', Industry = 'Finance') }; insert newAccounts; Date today = Date.today(); // 2. 新しい取引先に紐づく商談の作成 List<Opportunity> newOpps = new List<Opportunity>{ // 【データC: レポートにヒットする放置案件】 // 状態: オープン, 完了予定日: 今四半期 new Opportunity( Name = '工場向けタスク管理ツール導入(旭川マニュファクチャリング)', AccountId = newAccounts[0].Id, StageName = 'Needs Analysis', CloseDate = today.addDays(45), Amount = 2500000 ), // 【データD: レポートにヒットしない正常進行案件】 // 状態: オープン, 完了予定日: 今月 new Opportunity( Name = '店舗間コミュニケーション基盤(函館リテール)', AccountId = newAccounts[1].Id, StageName = 'Value Proposition', CloseDate = today.addDays(10), Amount = 1200000 ), // 【データE: 放置されているがクローズ済のためヒットしない案件】 // 状態: クローズ済(成立), 完了予定日は過去 new Opportunity( Name = '全社プロジェクト管理基盤導入(釧路フィナンシャル)', AccountId = newAccounts[2].Id, StageName = 'Closed Won', // クローズ済みのためレポート対象外になるべき CloseDate = today.addDays(-10), Amount = 4000000 ) }; insert newOpps; // 3. 活動(ToDo)の作成 List<Task> newTasks = new List<Task>{ // データC用: 最終活動日が「14日前」(7日以上経過のため放置判定)
  2. new Task( WhatId = newOpps[0].Id, Subject = '要件ヒアリング(Web会議)', Status =

    'Completed', ActivityDate = today.addDays(-14) ), // データD用: 最終活動日が「昨日」(7日未満のため正常判定) new Task( WhatId = newOpps[1].Id, Subject = 'デモ実施(対面)', Status = 'Completed', ActivityDate = today.addDays(-1) ), // データE用: 最終活動日が「20日前」(商談完了済のため放置レポートには出ない) new Task( WhatId = newOpps[2].Id, Subject = '契約書締結(メール)', Status = 'Completed', ActivityDate = today.addDays(-20) ) }; insert newTasks; System.debug('追加のテストデータ(3件)の投入が完了しました。'); ​
  3. ③要フォロー案件レポートのテストデータ // 1. 新しく追加する3件の取引先 List<Account> newAccounts = new List<Account>{ new

    Account(Name = '札幌クラウドデザイン株式会社', Industry = 'Technology'), new Account(Name = '小樽オペレーションズ合同会社', Industry = 'Retail'), new Account(Name = '帯広データソリューションズ株式会社', Industry = 'Finance') }; insert newAccounts; Date today = Date.today(); // 2. 新しい取引先に紐づく商談の作成 List<Opportunity> newOpps = new List<Opportunity>{ // 【データC: レポートにヒットする案件】 // 状態: オープン, 完了予定日: 今四半期 new Opportunity( Name = 'FlowSuite SaaS導入プラン', AccountId = newAccounts[0].Id, StageName = 'Needs Analysis', CloseDate = today.addDays(45), Amount = 2500000 ), // 【データD: レポートにヒットする正常進行案件】 // 状態: オープン, 完了予定日: 今月 new Opportunity( Name = 'InsightBoard 利活用パッケージ', AccountId = newAccounts[1].Id, StageName = 'Value Proposition', CloseDate = today.addDays(10), Amount = 1200000 ), // 【データE: クローズ済のためヒットしない案件】 // 状態: クローズ済(成立), 完了予定日は過去 new Opportunity( Name = 'CoreSync 業務標準化パッケージ', AccountId = newAccounts[2].Id, StageName = 'Closed Won', CloseDate = today.addDays(-10), Amount = 4000000 ) }; insert newOpps; // 3. 活動(ToDo)の作成 List<Task> newTasks = new List<Task>{ // データC用: 最終活動日が「Web会議」「訪問以外」
  4. new Task( WhatId = newOpps[0].Id, Subject = 'メール', Status =

    'Completed', ActivityDate = today.addDays(-14) ), // データD用: 件名がWeb会議 new Task( WhatId = newOpps[1].Id, Subject = 'Web会議', Status = 'Completed', ActivityDate = today.addDays(-1) ), // データE用: 件名が「Web会議」「訪問以外」 new Task( WhatId = newOpps[2].Id, Subject = '契約条件確認', Status = 'Completed', ActivityDate = today.addDays(-20) ) }; insert newTasks; System.debug('追加のテストデータ(3件)の投入が完了しました。');​
  5. ④長期停滞案件レポートのテストデータ // 1. 新しく追加する3件の取引先 List<Account> newAccounts = new List<Account>{ new

    Account(Name = '札幌ノースリンク株式会社', Industry = 'Technology'), new Account(Name = '函館ベイデータ合同会社', Industry = 'Retail'), new Account(Name = '旭川フロンティアシステムズ株式会社', Industry = 'Finance') }; insert newAccounts; // 基準日 Date today = Date.today(); // 2. 新しい取引先に紐づく商談の作成 List<Opportunity> newOpps = new List<Opportunity>{ // 【データC: レポートにヒットする案件】 new Opportunity( Name = 'CloudFlow SaaS導入パッケージ', AccountId = newAccounts[0].Id, StageName = 'Needs Analysis', CloseDate = today.addDays(45), Amount = 2500000, PhaseChangedDate__c = Date.newInstance(2026, 3, 5) ), // 【データD: レポートにヒットしない正常進行案件】 new Opportunity( Name = 'InsightHub 活用支援パッケージ', AccountId = newAccounts[1].Id, StageName = 'Value Proposition', CloseDate = today.addDays(10), Amount = 1200000, PhaseChangedDate__c = Date.newInstance(2026, 4, 10) ), // 【データE: クローズ済のためヒットしない案件】 new Opportunity( Name = 'CoreSync 業務最適化パッケージ', AccountId = newAccounts[2].Id, StageName = 'Closed Won', CloseDate = today.addDays(-10), Amount = 4000000, PhaseChangedDate__c = Date.newInstance(2026, 2, 28) ) }; insert newOpps; // 3. 活動(ToDo)の作成 List<Task> newTasks = new List<Task>{
  6. // データC用: new Task( WhatId = newOpps[0].Id, Subject = '要件確認',

    Status = 'Completed', ActivityDate = today.addDays(-14) ), // データD用: new Task( WhatId = newOpps[1].Id, Subject = '提案資料送付', Status = 'Completed', ActivityDate = today.addDays(-1) ), // データE用: new Task( WhatId = newOpps[2].Id, Subject = '契約条件整理', Status = 'Completed', ActivityDate = today.addDays(-20) ) }; insert newTasks; System.debug('追加のテストデータ(3件)の投入が完了しました。');
  7. ⑤決済者と会えていないレポートのテストデータ​ // 1. 新しく追加する3件の取引先 List<Account> newAccounts = new List<Account>{ new

    Account(Name = '札幌ノースエアライン株式会社', Industry = 'Technology'), new Account(Name = '小樽マリンサービス合同会社', Industry = 'Retail'), new Account(Name = '帯広グリーンシステムズ株式会社', Industry = 'Finance') }; insert newAccounts; // 基準日 Date today = Date.today(); // 2. 新しい取引先に紐づく商談の作成 List<Opportunity> newOpps = new List<Opportunity>{ // 【データC: レポートにヒットする案件】 new Opportunity( Name = 'CloudFlow SaaS導入パッケージ', AccountId = newAccounts[0].Id, StageName = 'Needs Analysis', CloseDate = today.addDays(45), Amount = 3500000 ), // 【データD: レポートにヒットしない正常進行案件】 new Opportunity( Name = 'InsightHub 活用支援パッケージ', AccountId = newAccounts[1].Id, StageName = 'Value Proposition', CloseDate = today.addDays(10), Amount = 1400000 ), // 【データE: クローズ済のためヒットしない案件】 new Opportunity( Name = 'CoreSync 業務最適化パッケージ', AccountId = newAccounts[2].Id, StageName = 'Closed Won', CloseDate = today.addDays(-1), Amount = 5000000 ) }; insert newOpps; // 3. 活動(ToDo)の作成 List<Task> newTasks = new List<Task>{ // データC用: 決済者と会えていない(レポートに出る) new Task( WhatId = newOpps[0].Id,
  8. Subject = '要件整理', Status = 'Completed', ActivityDate = today.addDays(-14), IsKeyPersonMeeting__c

    = false ), // データD用: 決済者と会えている(レポートに出ない) new Task( WhatId = newOpps[1].Id, Subject = '提案資料送付', Status = 'Completed', ActivityDate = today.addDays(-1), IsKeyPersonMeeting__c = true ), // データE用: 決済者と会えている(商談完了済のためレポートに出ない) new Task( WhatId = newOpps[2].Id, Subject = '契約条件整理', Status = 'Completed', ActivityDate = today.addDays(-20), IsKeyPersonMeeting__c = true ) }; insert newTasks; System.debug('追加のテストデータ(3件)の投入が完了しました。');