---
schema_version: "1"
id: 6726116d6a2ffa1e211c59f447620c469f5941214fa4d8a4abcd0c2ad8f7a471
title: Design Complex Datasets with Dataflow Editor
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/analytics/264-0-0/bi_integrate_dataflow_configure_editor.md
canonical_url: https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_dataflow_configure_editor.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 8bbe16ee6bf25f757ff99ae8a1f40b4b5c37f3590d64488ea75fde6b7a40bfd9
description: Use Dataflow Editor, a point-and-click interface, to build your dataflow logic from scratch. Add transformations to determine what source data to use, how to transform that data, and which datasets to load the results into.
products:
  - CRM Analytics
  - Cross Cloud
release: "264"
---
# Design Complex Datasets with Dataflow Editor

Use Dataflow Editor, a point-and-click interface, to build your dataflow logic from scratch. Add transformations to determine what source data to use, how to transform that data, and which datasets to load the results into.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in Salesforce Classic and Lightning Experience.</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available with CRM Analytics, which is available for an extra cost in <strong>Enterprise</strong>, <strong>Performance</strong>, and <strong>Unlimited</strong> Editions. Also available in <strong>Developer</strong> Edition.</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d119132e47">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d119132e47 ">To edit the dataflow:</td>
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d119132e47 ">Edit CRM Analytics Dataflows</td>
          </tr>
        </tbody>
      </table>

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

Tip More advanced users can edit the underlying dataflow definition file. A dataflow definition file is a JSON file that contains transformations that represent the dataflow logic. See [Configure the Dataflow Through the Definition File](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_workflow_configure.htm&release=264.0.0&type=5 "You can configure the dataflow by adding transformations directly to the dataflow definition file.").

Dataflow Editor displays the dataflow you’re editing.

![Dataflow editor](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_dataflow_editor.png)

The canvas (1) shows the individual nodes in your dataflow and the links between them. If you can’t find a node, enter the node name in the search box (2). The node palette (3) has buttons for each type of node. Click one to add it to the canvas. Use the buttons at the top of the editor (4) to work with the dataflow JSON. Preview and download the underlying JSON or upload an existing JSON file to work with it in the editor.

The dataflow in this example extracts data from the Salesforce Opportunity, Account, and User objects, augments it together, and creates a registered dataset. If you also want to extract cases in this dataflow, augment them with case data, and register the result as a new dataset. Let’s look at how you can use the editor to modify the dataflow.

1. In CRM Analytics, click the gear icon (![Gear icon](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_dataflowmanager_gear_icon.png)) and then click **Data Manager**.
2. Click **Manage Dataflows**.
3. Click the **Dataflows & Recipes** tab.
4. To create a dataflow from scratch, click **Create Dataflow**.
5. To edit an existing dataflow, click the actions button to the right of the dataflow that you want to edit, and select **Edit**.
    
    ![Select Edit in the actions menu of the dataflow you want to edit](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_dataflow_edit_action.png)
    
    Dataflow Editor opens, displaying the nodes in the dataflow.
6. In the node palette, click the node that you want to add.
    
    For example, to extract data from a Salesforce object, click the sfdcDigest node (![sfdcDigest node button](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_dataflow_sfdcdigest_node_button.png)).
7. Enter a name for the node.
    
    ![Enter a node name dialog](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_dataflow_editor_node_name.png)
    
    ![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 Node names must be unique within the dataflow and not contain spaces.
8. Enter the node attributes. In this example, you select Case as the source object, and the fields you need. You don’t need an incremental update or filters.
    
    ![Enter node attributes](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_dataflow_editor_node_attributes.png)
    
    ![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 When you enter attributes that reference objects, fields, or other nodes, click inside the attribute field to see a list that you can search. Then select from. To see the field list in sfdcDigest nodes, click **Select Fields**.
9. Click **Create**.
    
    The new node appears on the canvas.
    
    ![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/images/icon_tip.png)
    
    Tip To edit a node on the canvas, click it. To delete a node, hover over it and click the trash can.
    
    ![Hover over node and click trash can to delete](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_dataflow_editor_node_delete.png)
10. In the node palette, click the next node you want to add. In this example, you want to augment the case data with user data, so click the augment node (![sfdcDigest node button](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_dataflow_augment_node_button.png)).
11. Enter the node name and attributes. In this example, you select the Extract Cases node as the left source. This node is the one you want to add the user columns to. The Extract Users node contains the columns you want to add, so select it as the right source. The left and right keys are the fields from each node that are used to match records. In this case, select the OwnerId field on cases and the Id field on users.
    
    ![Augment node attributes](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_dataflow_editor_augment_node_attributes.png)
12. Click **Create**.
    
    The new node appears on the canvas, with lines showing the input of data from the source nodes.
    
    ![Linked nodes on canvas](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_dataflow_editor_linked_nodes.png)
    
    ![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/images/icon_tip.png)
    
    Tip If a node isn’t where you want it, drag it to wherever you want on the canvas. If it gets crowded, use your scroll wheel to zoom in and out if your browser supports it, or drag the canvas to move nodes into view.
13. In the node palette, click the next node you want to add. In this example, you want to make the augmented case and user data available to use in a dataset, so click the sfdcRegister node (![sfdcRegister node button](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_dataflow_sfdcregister_node_button.png)).
14. Enter the node name and attributes. In this example, you select the augment\_Cases\_Users node as the source. The Alias is the API name of the registered dataset, and the Name is its display name.
    
    ![sfdcRegister node attributes](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_dataflow_editor_sfdcRegister_node_attributes.png)
15. Click **Create**.
    
    The new node appears on the canvas, with a line showing the input of data from the source node.
    
    ![Linked register node on canvas](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_dataflow_editor_linked_register_node.png)
    
    ![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/images/icon_tip.png)
    
    Tip You can drag the output arrow of a source node to draw a link to another node on the canvas.
16. When you finish editing, click **Update Dataflow** to update the definition file with your changes.
17. In the Update dataflow dialog, enter a description in the Version History field.
18. Click **Update Dataflow**.
    
    CRM Analytics validates your dataflow to ensure that you provided all the required attribute values. If there are errors, CRM Analytics ensures that you can’t continue. Correct the errors it finds before trying again. After CRM Analytics validates the dataflow, it saves the new version of the dataflow.
19. Click **Run Dataflow** to run the dataflow right away and create newly defined datasets. Alternatively, you can run the dataflow later from the Dataflows & Recipes tab of Data Manager.

- **[Plan the Dataflow](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_dataflow_design.htm&release=264.0.0&type=5)**  
    Before you start creating the dataflow, think about the dataflow design. Consider what data to make available for queries, where to extract the data from, and whether you must transform the extracted data to get the data you want.
- **[Transformations for CRM Analytics Dataflows](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_tranformation_overview.htm&release=264.0.0&type=5)**  
    A _transformation_ refers to the manipulation of data. You can add transformations to a dataflow to extract data from Salesforce objects or datasets, transform datasets that contain Salesforce or external data, and register datasets.
- **[Edit Nodes in the Dataflow](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_dataflow_edit_nodes.htm&release=264.0.0&type=5)**  
    When you edit a dataflow node, for example to change its name, or add or remove fields, consider that these changes can impact downstream nodes. If you're manually editing nodes in the JSON dataflow definition file, make sure that your changes are reflected in downstream nodes. If you're working in the dataflow editor, CRM Analytics propagates many of your changes to downstream nodes for you.
- **[Configure the Dataflow Through the Definition File](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_workflow_configure.htm&release=264.0.0&type=5)**  
    You can configure the dataflow by adding transformations directly to the dataflow definition file.

#### See Also

- [Why Should I Use Recipes Instead of Dataflows?](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_prepare.htm&release=264.0.0&type=5 "Recipes and dataflows both prepare data. Compared to dataflows, recipes are newer and are recommended for functionality and ease of use. Recipes allow you to preview the data as you transform it, while dataflows only show your node schema. For example, recipes have more join types and transformations with built-in machine learning - such as Predict Missing Values and Detect Sentiment - that aren’t available in dataflows. Recipes can also aggregate data to a higher level.")
- [Design a Simple Dataset with Dataset Builder](https://help.salesforce.com/s/articleView?id=analytics.bi_dataset_builder.htm&release=264.0.0&type=5 "Use Dataset Builder to create a single dataset based on data from one or more related Salesforce objects. Dataset Builder adds the instructions for building the dataset to the specified dataflow. The dataset is created the next time the dataflow runs, and refreshes each time the dataflow runs thereafter. To edit the dataflow, use the Dataflow Editor.")
- [Transformations for CRM Analytics Dataflows](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_tranformation_overview.htm&release=264.0.0&type=5 "A transformation refers to the manipulation of data. You can add transformations to a dataflow to extract data from Salesforce objects or datasets, transform datasets that contain Salesforce or external data, and register datasets.")
- [Run a Dataflow](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_job_dataflow.htm&release=264.0.0&type=5 "Like recipes, you can run dataflows manually or schedule them to run automatically at regular intervals to create your datasets and keep the data up to date. You can also stop a dataflow while it’s running.")