-이 충분 있습니다
SELECT Campaign.Name, Campaign.NumberOfOpportunities, SUM(Amount), COUNT(Id)
FROM Opportunity
WHERE CampaignId != null AND CloseDate = THIS_MONTH
GROUP BY Campaign.Name, Campaign.NumberOfOpportunities
:
SELECT Campaign.Name, Id, Name, Amount
FROM Opportunity
WHERE CampaignId != null AND CloseDate = THIS_MONTH
당신은 쉽게 당신에게 캠페인 당 합계를 너무 줘야 할 것 집계 쿼리로 변환 할 수 있습니다 (Campaign.NumberOfOpportunities
과 Opps가 일치하지 않으면 첫 번째 필드가 "전체 시간 카운터"이고 이후 하나가 WHERE CloseDate = THIS_MONTH
의 영향을 받음)
보고서 (특히 "응답 됨")가 반환 한 것과 같은 전체 데이터 세트가 필요하면 ERD diagram for these objects이 약간 고약하기 때문에 까다로울 수 있습니다.
캠페인 영향을 통해 마케팅 담당자는 단일 기회에 영향을받은 여러 캠페인을 측정하고보고 할 수 있습니다.
우리는 어떻게 든 연락처에서 시작할 수 있습니다. OpportunityContactRole을 통해 기회로 이동하십시오. 그리고 Contact에서 CampaignMembers to Campaign (CampaignMembers to Campaign)으로 이동하십시오.
SELECT Name, Email, Account.Name,
(SELECT HasResponded, Campaign.Name FROM CampaignMembers),
(SELECT Opportunity.Name, Opportunity.Amount FROM OpportunityContactRoles)
FROM Contact
LIMIT 10
당신은 그러나 캠페인 이름을 얻기 위해 쿼리의 결과를 처리해야 할 것 (내가 서브 쿼리는 예를 들어 데이터 로더로 내보낼 수 있습니다 생각하지 않는다).
마지막으로 - 당신이 하나 개의 캠페인 또는 하나 개의 OPP에 관심이 있다면이 단순화 될 수있다 (그리고 당신이 아주 가까웠다!) 당신의 신속하고 상세한위한
SELECT Contact.Name, Opportunity.Account.Name, Opportunity.Name, Opportunity.Amount
FROM OpportunityContactRole
WHERE ContactId IN (SELECT ContactId FROM CampaignMember WHERE Campaign.Name = 'Sample Campaign')
감사합니다 응답. 이것은 매우 도움이되었습니다. – rms58
마지막 예는 내가 찾고있는 것에 가장 가깝지만 WHERE 절의 캠페인에 연결된 기회뿐만 아니라 연락처에 대한 모든 기회 목록을 반환하기 때문에 막혔습니다. – rms58
'... 그리고 Opportunity.Campaign.Name = '샘플 캠페인'을 끝에 추가 하시겠습니까? – eyescream