Since Salesforce acquired Tableau, there has been a lot of discussion regarding how both platforms can be integrated and where we can benefit from the merger.
If you have experience with Einstein Analytics, you’ve likely used its Dataflow and Recipe tools to prepare your data. If you’re looking at using Tableau as an alternative tool, Tableau Prep has a number of features that help us easily prepare our data for analysis, while still integrating with Salesforce. In this blog series, we will showcase these features and demonstrate how we can leverage the advanced predictions and probability output we gain from Tableau Python Server in conjunction with Tableau Prep Builder.
Let’s start with the basics. What is Tableau Prep? The key component of Tableau Prep is Tableau Prep Builder. With Tableau Data Management, you can also get access to Tableau Prep Conductor and Tableau Catalog.
Today, we’ll focus on Tableau Prep Builder. It launched in 2018, and is designed to make preparing your data easy and intuitive. Tableau Prep Builder can be used to combine, shape, and clean your data so it’s ready for analysis; similar to how datasets are formed in Einstein Analytics Data Manager.
Data can be combined from multiple sources.
As soon as data is transformed, we can evaluate the changes immediately within Tableau Prep, as a preview of your data is always showcased at the bottom, below your transformation steps.
Smart features to fix common data issues are available with a single click.
Unlike in Einstein Dataflows, as you are creating your Flow in Tableau Prep, before publishing it, you are able to preview this Flow at any step in the process in Tableau Desktop. A flow is a recipe for your data prep process. As you connect to, clean, shape, and combine your data, each step appears as an icon in the flow pane along the top. These steps tell you what kind of operation is being applied, in what order, and how your data is affected by it.
Various steps and transformations available in Tableau Prep:
Similar transformations are available in Einstein Dataflows. The key difference in Tableau Prep is that these features are available within the Flow with a quick point and click. The table below highlights these steps and some differences across both tools:
Tableau Prep vs. Dataflows
|Aggregate||Adjust the granularity of the data||Minor differences, dataflow requires an aggregate node|
|Pivot||Tableau needs the data structured into columns. In some scenarios, we may need to pivot the data to achieve this so we can use this for further analysis`||N/A in Dataflows|
|Join||All types of joins can be created in the configuration pane||Dataflow requires an Augment; left joins are performed|
|Union||We can add a union step to the flow to add two or more inputs that need to union together, or we can use a wildcard to union tables with the exact same structure or schema.||Append transformation in dataflows|
|Script||If there is a more complex problem to solve and cannot be done within the existing features, Tableau Prep has an added functionality to embed scripts coded in Python/R||N/A in dataflows|
|Insert Flow||This option allows the user to add the steps or flows saved locally or add a flow saved within Tableau Server.||Edgemart node in dataflows can reference an existing file or dataset within Einstein Analytics.|
Now that we understand the basics, how does this relate to Salesforce?
Connecting to Salesforce
Add Salesforce connection in Tableau Prep by clicking the plus sign next to Connections. In the Connect dialogue box, you can search for Salesforce:
Salesforce login screen will open; once credentials are entered and access is granted, Tableau Prep will establish a connection to the given Salesforce org.
Head back to the open instance of Tableau Prep Builder. You can now see the list of tables available from the Salesforce org.
We can repeat these steps to connect to a second Salesforce org. Let’s use this as an example. Say we have sales data from different regions across multiple orgs. Let’s connect to a second org and showcase Accounts and Opportunities across both orgs, together in Tableau Prep. You’ll see below that we are able to connect to Accounts and Opportunities from Org1 and Org2, keep a data sample from each, join both tables together within both orgs, and within the same Flow, Union the data from both orgs together for a single output.
You have digested all of these features at a high level, have seen how we can easily connect to multiple Salesforce orgs and how we can union our data together across multiple orgs. Now you’ve created your first Flow in Tableau Prep Builder. What’s next? How does this get published, refreshed, scheduled? This is where Tableau Prep Conductor comes into play. Consider this your “Monitor” section of Einstein Analytics Data Management.
Tableau Prep Conductor
Dataset outputs from your Flow can be published to Tableau Server or Tableau Online using Tableau Prep Conductor. This is also where the Flow can be scheduled. Tableau Prep Conductor is part of the Data Management add-on introduced to Tableau Server version 2019.1 and this must be enabled to access these features.
From Prep Builder, navigate to Server → Publish Flow. This is where you will connect to your Tableau Server or Tableau Online through Quick Access.
From Server/Online, you can view your Flows similarly by navigating to Explore → All Flows:
As we see in Einstein Analytics Data Management’s “Monitor” feature for dataflows and connections, Server/Online allows you to see all of your Flow’s details in one spot:
To schedule your Flow, navigate to Scheduled Tasks → Select a Schedule:
We have our Flow, it’s been published and scheduled; what’s next?
After analyzing these basic capabilities, it is clear that most of Einstein’s Data Manager functionality is available in Tableau Prep Builder. We are used to considering whether to use Einstein’s dataflow or recipes to achieve the same output, whereas Tableau Prep Builder has all of these capabilities rolled into one interface.
But where can we go from here? How do we complete Tableau’s data pipeline to match Einstein’s Discovery tools? In our next blog post we will use the TabPy extension and leverage extremely powerful data science libraries to take our data from Diagnostic to Predictive. .
Contact Us: We can get this solution up and running in a few days: