Loading

How can I aggregate (SUM) the amount?

Дата публикации: Jan 28, 2026
Описание

I wrote the following code to get a total amount, but it returns an error.

Code
TotalCharges__c = [SELECT sum(EntryCharge__c) FROM AllocationTable__c WHERE id=:id];

TotalCharges__c: currency
EntryCharge__c: expression (currency)

Error
Save error: Illegal assignment from LIST<AggregateResult> to Decimal CalculateCharge.trigger

Решение

To use an aggregation function, use the AggregateResult type. In addition, it is necessary to use valueof method for each type to convert the type, because the aggregation result data cannot be stored to a Decimal variable directly.

For specifics, refer to the sample below:

*******************************
AggregateResult ar = [SELECT sum(EntryCharge__c) s FROM AllocationTable__c WHERE id=:id];  
TotalCharges__c = decimal.Valueof(string.valueof(ar.get('s')));  
system.debug('data = '+String.valueof(j.TotalCharges__c));  
******************************* 

For String type conversion, refer to this topic.

 

Номер статьи базы знаний

000385401

 
Загрузка
Salesforce Help | Article