Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

金額の集計 (SUM) をしたいのですが、どうしたらいいですか?

公開日: Jan 28, 2026
説明

金額の合計をしようとして、下記のコードを書きましたが、エラーになります。

コード
TotalCharges__c = [SELECT sum(EntryCharge__c) FROM AllocationTable__c WHERE id=:id];

TotalCharges__c : 通貨
EntryCharge__c : 数式 (通貨)

エラー
Save error: Illegal assignment from LIST<AggregateResult> to Decimal CalculateCharge.trigger

解決策

集計関数を利用する場合には AggregateResult 型を利用します。また集計結果のデータを直接 Decimal 型の変数に格納することはできない為、各型の valueof メソッドを使用し、型変換を行う必要があります。

具体的には下記サンプルを参照してください。

*******************************
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));  
******************************* 

また、String の型変換メソッドについてはこちらを参照してください。

 

ナレッジ記事番号

000385401

 
読み込み中
Salesforce Help | Article