您好Salesforce专家,
我有一个对象 Monthly_cc__c ,每个国家/地区每月都有记录。 以下是字段
现在每条记录都有以下字段
对于每个运营公司,这些结果都会被发送,并且在相同的处理日期,我们会为不同的运营公司提供各种记录。
我想总结1月份的个人cc,以免我们的SQL查询复杂化。
请告诉我们如何完成此任务的解决方案。
谢谢。
预期结果将是
2017年1月
答案 0 :(得分:0)
这里有很多选项,最终结果还取决于贵公司是否使用货币管理(所有对象上都有CurrencyIsoCode字段?)。
这应该是你要求的:
SELECT Distributor__c, SUM(Personal_CC__c) personal, SUM(Monthly_CC__c) monthly
FROM Monthly_CC__c
WHERE Processing_Year__c = 2017 AND Processing_Month__c = 1
GROUP BY Distributor__c
LIMIT 200
这应该更灵活一点:
SELECT Distributor__c, Processing_Year__c, Processing_Month__c, SUM(Personal_CC__c) personal, SUM(Monthly_CC__c) monthly
FROM Monthly_CC__c
GROUP BY Distributor__c, Processing_Year__c, Processing_Month__c
LIMIT 200
了解SOQL,GROUP BY & aggregate functions, GROUP BY ROLLUP()。 您的数据看起来有点人为地分为日 - 月 - 年。如果您有真实的日期字段,则可以使用GROUP BY CALENDAR_MONTH()。
最后但并非最不重要 - 如果此查询结果将在Apex中处理 - 您需要阅读AggregateResult
。
P.S。你应该解决你的问题。我们不是为您编写代码。你有什么尝试,你被困在哪一部分?如果您对salesforce完全不熟悉,甚至不知道要尝试什么 - 从SQOL-related Trailheads开始