convertCurrency()
SELECT 句で convertCurrency() を使用するには、次の構文を使用します。
1convertCurrency(field)次に例を示します。
1SELECT Id, convertCurrency(AnnualRevenue)
2FROM Accountユーザの地域に従って通貨の書式を設定するには、SELECT() ステートメントで FORMAT() を使用します。この例では、convertedCurrency は返される金額の別名です。ユーザインターフェースでは適切な書式で表示されます。
1SELECT Amount, FORMAT(amount) Amt, convertCurrency(amount) convertedAmount,
2FORMAT(convertCurrency(amount)) convertedCurrency FROM Opportunity where id = '006R00000024gDtIAI'組織で高度な通貨管理を有効にしている場合は、商談、商談品目名、商談履歴の通貨項目を変換するときに期間指定換算レートが使用されます。高度な通貨管理では、convertCurrency は特定の項目 ([CloseDate on opportunities] など) に対応する換算レートを使用します。高度な通貨管理が有効になっていない場合は、入力された最新の換算日が使用されます。
考慮事項と回避策
convertCurrency() 関数は WHERE 句では使用できません。使用すると、エラーが返されます。組織の有効な通貨からユーザの通貨に数値を換算するには、次の構文を使用します。
1WHERE Object_name Operator ISO_CODEvalueこの例では、レコードの通貨の Amount 値が USD 5000 相当より大きい場合、商談レコードが返されます。たとえば、金額が USD5001 の商談は返されますが JPY7000 の商談は返されません。
組織で有効になっている、アクティブな ISO コードを使用してください。ISO コードを入力しないと、比較金額の代わりに数値が使用されます。前の例を使用すると、JPY5001、EUR5001、USD5001 の商談レコードが返されます。WHERE 句で IN を使用する場合は、ISO コード値と ISO 以外のコード値を混在させて使用できません。
convertCurrency() 関数をコールして集計関数の結果をユーザの通貨に換算することはできません。クエリに GROUP BY または HAVING 句が含まれる場合、SUM() や MAX() などの集計関数を使用して返される通貨データは、組織のデフォルトの通貨で表示されます。
次に例を示します。
1SELECT Name, MAX(Amount)
2FROM Opportunity
3GROUP BY Name
4HAVING MAX(Amount) > 10000集計関数を使用するときには、USD などの特定の通貨で値を表すために ISO_CODEvalue を使用することはできません。たとえば、次のクエリは機能しません。
1SELECT Name, MAX(Amount)
2FROM Opportunity
3GROUP BY Name
4HAVING MAX(Amount) > USD10000convertCurrency() と ORDER BY は一緒に使用できません。順序は、レポートの場合と同様に、必ず換算後の通貨の値に基づきます。