Loading
CRM Analytics
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Preserve Original Currency Values for Salesforce Direct Data

          Preserve Original Currency Values for Salesforce Direct Data

          By default, all currency fields are converted to the default org currency on all data syncs. With Salesforce direct data objects, use the preserveCurrencyFields in your recipe JSON to specify which fields you want to preserve the original currency value for on data sync. This process allows you to use unconverted currencies in some workflows and converted currencies in others, even within the same Salesforce direct data object.

          Preserving currency values provides your users with the option to access both raw and converted currency values. You maintain data integrity by retrieving the original currency values as stored in Salesforce and enable your users to perform currency conversion within CRM Analytics using the retrieved exchange rates.

          Note
          Note

          Use of preserveCurrencyFields is only supported for Salesforce direct data objects and requires a full sync.

          1. In Data Manager, click Recipes.
          2. Click the recipe you want to edit or create a new recipe.
          3. For the input node, select a Salesforce direct data object.
            In the Location column, Salesforce direct data is distinguished by a gray Salesforce cloud icon.
            Selecting a Salesforce direct data object for the input node.
          4. Once your input node is defined, download the recipe JSON to edit and update the preserveCurrencyFields for that node.
            The download action for a recipe.
          5. Open the recipe JSON file in an editor.
            Example JSON for a recipe input node:
            "LOAD_DATASET0": {
                "action": "load",
                "parameters": {
                   "dataset": {
                     "connectionName": "SFDC_LOCAL",
                     "label": "Sy_Currency__c",
                     "sourceObjectName": "Sy_Currency__c",
                     "type": "connectedDataset"
                   },
                   "fields": [
                     "Id",
                     "OwnerId",
                     "IsDeleted",
                     "Name",
                     "CurrencyIsoCode",
                     "CreatedDate",
                     "CreatedById",
                     "LastModifiedDate",
                     "LastModifiedById",
                     "Cost__c"
                   ],
                   "preserveCurrencyFields": [],
                   "sampleDetails": {
                     "sortBy": [],
                     "type": "TopN"
                   }
                },
                "sources": []
            }
          6. Add one or more currency fields to the preserveCurrencyFields object.
            Example JSON with a currency field, Cost__c, added to the preserveCurrencyFields object:
            "LOAD_DATASET0": {
                 "action": "load",
                 "parameters": {
                   "dataset": {
                     "connectionName": "SFDC_LOCAL",
                     "label": "Sy_Currency__c",
                     "sourceObjectName": "Sy_Currency__c",
                     "type": "connectedDataset"
                   },
                   "fields": [
                     "Id",
                     "OwnerId",
                     "IsDeleted",
                     "Name",
                     "CurrencyIsoCode",
                     "CreatedDate",
                     "CreatedById",
                     "LastModifiedDate",
                     "LastModifiedById",
                     "Cost__c"
                   ],
                   "preserveCurrencyFields": [
                     "Cost__c"       
                   ],
                   "sampleDetails": {
                     "sortBy": [],
                     "type": "TopN"
                   }
                 },
                 "sources": []
                 }
          7. Save the recipe JSON file and upload it to your recipe.
            The upload action for a recipe.
          8. Complete your recipe and click Save and Run.

          Considerations

          • Be careful with recipe aggregations and don’t aggregate across different currencies.
          • Using this feature introduces performance overhead due to a full data sync on each job. However, this impact is limited to objects where preserved values are needed. Other objects can still use the faster data syncs.
          • Recipes involving multiple objects require extra attention to ensure related data sources stay in sync.
           
          Loading
          Salesforce Help | Article