こんにちは、管理人の@Salesforce.Zです。
Salesforceの導入だけではなく、よくあるのが
月単位で請求金額をみたいとか
契約単位の請求金額をみたいとか
顧客単位、さらに契約単位、さらに月単位など
の切り口でデータをみたい要望がある
今回、それに活かせる集計関数を紹介します。
どんな関数があるか
Salesforceの集計関数に
AVG()、COUNT()、MIN()、MAX()、SUM()
などがあります。
AVG()
・数値項目の平均値を返します
SELECT CampaignId, AVG(Amount) ROM Opportunity GROUP BY CampaignId
COUNT()
・クエリ条件に一致する行数を返します
SELECT COUNT() FROM Account WHERE Name LIKE 'a%'
MIN()
・項目の最小値を返します
SELECT MIN(CreatedDate), FirstName, LastName FROM Contact GROUP BY FirstName, LastName
MAX()
・項目の最大値を返します
SELECT Name, MAX(BudgetedCost) FROM Campaign GROUP BY Name
SUM()
・数値項目の合計を返します
SELECT SUM(Amount) FROM Opportunity WHERE IsClosed = false AND Probability > 60
ここまで本当に、サンプル程度です。 使用時に頭次第に応用できます。
集計関数の返り値
クエリした結果はAggregateResult型です。
AggregateResult[] groupedResults = [SELECT AVG(Amount)aver FROM Opportunity]; Object avgAmount = groupedResults[0].get('aver');