---
schema_version: "1"
id: d0ceae9a2f74403e365658fbe2dad1299bf86fcb6dc1b4c2d3f5ad9d81d83ff1
title: update Transformation
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/analytics/264-0-0/bi_integrate_update_transformation.md
canonical_url: https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_update_transformation.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 013506fce4dd509b9030730e66dcfb86b907e86eb6506c009fa5caed37f0ca10
description: The update Transformation updates the specified field values in an existing dataset based on data from another dataset, which we call the lookup dataset. The transformation looks up the new values from corresponding fields in the lookup dataset. The transformation stores the results in a new dataset.
products:
  - CRM Analytics
  - Cross Cloud
release: "264"
---
# update Transformation

The update Transformation updates the specified field values in an existing dataset based on data from another dataset, which we call the lookup dataset. The transformation looks up the new values from corresponding fields in the lookup dataset. The transformation stores the results in a new dataset.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/images/icon_note.png)

Note To update columns in a Data Prep recipe, see [Update Node: Swap Column Values](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_recipe_update.htm&release=264.0.0&type=5 "In CRM Analytics, you can swap column values with data from another data source when key pairs match with the Update node. For example, to update selected account names after a series of recent acquisitions and mergers, replace the name from an uploaded spreadsheet based on matching account IDs. Processing time is minimized by only changing column values with matching key pairs, instead of every value in the column.").

When you create the transformation, you specify the keys that are used to match records between the two datasets. To dictate which field in the lookup dataset updates the field in the source dataset, you also map the corresponding fields from both dataset.

For example, you have an existing Accounts dataset that contains account information—Id, Name, and AnnualRevenue. Unfortunately, some of the account names in the dataset are now incorrect because of a series of mergers and acquisitions. To quickly update the account names in the dataset, you perform these tasks.

1. Create a .csv file that contains the new account names and associated account IDs for accounts that have name changes.
2. Upload the .csv file to create a dataset called UpdatedAccountNames.
3. Create a dataflow definition file to update account names in the Accounts dataset by looking up the new account names in the UpdatedAccountNames dataset.
    
    ![The diagram shows that the Id field from Accounts joins with the AccountID field from UpdatedAccountNames. Also, the values in the NewAccountName field in UpdatedAccountNames replaces values for the Name field in Accounts.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/bi/images/bi/bi_integrate_update_inputs.png)

You create the following dataflow definition file.

```
{
   "Extract_AccountDetails": {
      "action": "sfdcDigest",
      "parameters": {
         "object": "Account",
         "fields": [
            { "name": "Id" },
            { "name": "Name" },
            { "name": "AnnualRevenue" }
         ]
      }
   },
   "Extract_UpdatedAccountNames": {
      "action": "edgemart",
      "parameters": { "alias": "UpdatedAccountNames" }
   },
   "Update_AccountRecords": {
      "action": "update",
      "parameters": {
         "left": "Extract_AccountDetails",
         "right": "Extract_UpdatedAccountNames",
         "left_key": [ "Id" ],
         "right_key": [ "AccountID" ],
         "update_columns": { "Name": "NewAccountName" }
      }
   },
   "Register_UpdatedAccountRecords": {
      "action": "sfdcRegister",
      "parameters": {
         "alias": "Accounts",
         "name": "Accounts",
         "source": "Update_AccountRecords"
      }
   }
}
```

Let’s look at another example, where a composite key is used to match records between both datasets. In this case, you match records using the account ID and account name fields.

You create the following dataflow definition file.

```
{
   "Extract_AccountDetails": {
      "action": "sfdcDigest",
      "parameters": {
         "object": "Account",
         "fields": [
            { "name": "Id" },
            { "name": "Name" },
            { "name": "AnnualRevenue" }
         ]
      }
   },
   "Extract_UpdatedAccountNames": {
      "action": "edgemart",
      "parameters": { "alias": "UpdatedAccountNames" }
   },
   "Update_AccountRecords": {
      "action": "update",
      "parameters": {
         "left": "Extract_AccountDetails",
         "right": "Extract_UpdatedAccountNames",
         "left_key": ["Id","Name"],
         "right_key": ["AccountId","NewAccountName"],
         "update_columns": {
            "Name": "NewAccountName",
            "CreatedDate":"NewCreatedDate",
            "AnnualRevenue":"NewAnnualRevenue"
      }
   },
   "Register_UpdatedAccountRecords": {
      "action": "sfdcRegister",
      "parameters": {
         "alias": "Accounts",
         "name": "Accounts",
         "source": "Update_AccountRecords"
      }
   }
}
```

- **[update Parameters](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_update_operation.htm&release=264.0.0&type=5)**  
    When you define an update transformation, you set the action attribute to `update` and specify the parameters.