您如何计算与联系人相关的机会数量?

时间:2014-01-06 23:52:09

标签: salesforce

我无法弄清楚如何创建一个汇总字段,该字段将计算联系人的活跃商机。在帐户级别很容易计算,但是对于与帐户关联的所有机会,这可能与我正在查看的特定联系人有关,也可能没有。

有没有办法查询联系人/机会关系并返回计数?

1 个答案:

答案 0 :(得分:2)

您是否使用标准的多对多关系? OpportunityContactRole对象充当两者之间的联结(许多联系人可以参与许多机会)。

或者您是否已经为Opp上的Contact创建了一些自定义查找(我看过只关心一个人的组织,例如称为“主要联系人”)。

enter image description here

(完整图片位于http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_erd_majors.htm;或使用您组织中的“设置” - >“架构构建器”

你可以选择直截了当的SELECT COUNT() FROM OpportunityContactRole WHERE ContactId = '...',但是如果有一个机会不止一次列出一个人 - 它会被重复计算。

所以这更好一点:

SELECT Id, Name
FROM Opportunity
WHERE Id IN (SELECT OpportunityId 
    FROM OpportunityContactRole 
    WHERE ContactId = '0037000000TWREI')

当然它只是一个存根,一旦你拥有它就可以玩游戏(使用COUNT(Id)WHERE Contact.Email = 'joe@example.com'或增加AND Status = 'Closed Won')...