Loading

How to Overwrite a CRM Analytics Dataset with the Contents of Another Dataset Using a Dataflow

Date de publication: Jun 29, 2026
Description

Overview
In CRM Analytics (also known as Tableau CRM), there are situations where you need to update an existing dataset with data from a different dataset while preserving the original dataset's ID. Preserving the dataset ID is important because dashboards and lenses reference datasets by their ID — updating the ID would require updating every dashboard and lens that references the original dataset.
When This Situation Occurs
A common scenario is when a CRM Analytics Recipe is updated to save to a different app. This action creates a new target dataset associated with the recipe. As a result, the recipe no longer updates the original dataset, and it cannot be directly reconfigured to point back to the original dataset. The original dataset ID remains, but its data no longer refreshes from the recipe.
The solution is to use a CRM Analytics Dataflow with an edgemart node and an sfdcRegister node to copy the new dataset's contents into the old dataset while keeping the original dataset ID intact.

Résolution

How to Use a Dataflow to Overwrite a CRM Analytics Dataset
This approach uses a CRM Analytics Dataflow to read the new dataset and register it under the old dataset's name and ID. Because sfdcRegister is an overwrite operation, it replaces the existing dataset's contents while preserving the original dataset ID and system (API) name.
Before You Begin — Back Up the Default Salesforce Dataflow
Before modifying the dataflow, create a backup:

  1. In Analytics Studio, click the Gear icon and then click Data Manager.
  2. Click Monitor.
  3. Select the Dataflows tab.
  4. Locate the Default Salesforce Dataflow, click the down arrow, and select Download.

Steps to Overwrite the Dataset
The following steps use "New_Dataset" and "Old_Dataset" as example aliases. Replace these with the actual aliases used in your org.

  1. Create a copy of your backed-up Default Salesforce Dataflow file.
  2. Open the copy in a text editor.
  3. Add two new nodes to the end of the dataflow JSON:
    1. A node using the "edgemart" action that reads from "New_Dataset". This node digests the new dataset that contains the data you want to see in the old dataset.
    2. A second node using the "sfdcRegister" action that writes to "Old_Dataset" using the output of the edgemart node as the source. Because sfdcRegister is an overwrite operation, it overwrites the existing dataset content but preserves the original dataset ID and system name.

      {
        "node1": {
          "action": "edgemart",
          "parameters": {
            "alias": "New_Dataset"
          }
        },
        "node2": {
          "action": "sfdcRegister",
          "parameters": {
            "alias": "Old_Dataset",
            "name": "Old Dataset",
            "source": "node1"
          }
        }
      }
  4. Upload the modified dataflow file and start the Default Salesforce Dataflow.
  5. Once the dataflow completes successfully, the "Old_Dataset" dataset now contains the same data as "New_Dataset".

Important — Schedule Dependency
You must ensure that the dataflow containing these nodes is always scheduled to run after "New_Dataset" is updated. This ensures that the contents of "Old_Dataset" always reflect the latest data from "New_Dataset".


Ressources supplémentaires
  • CRM Analytics Dataflow Overview
  • edgemart Transformation
  • sfdcRegister Transformation
  • CRM Analytics External Data Schema Reference
Numéro d’article de la base de connaissances

000382629

 
Chargement
Salesforce Help | Article