For convenience, I will systematically refer to Salesforce.com as SFDC.
As the largest CRM vendor according to Gartner, SFDC is pretty ubiquitous, and the odds are that most Tableau users dealing with sales figures have already run into this data source.
This leadership offers convenience when it comes to handling data from that cloud platform, as both Tableau and Alteryx provide standard connectors to extract transactions. But now with both options, which one to use? I will offer my perspective, as each is attractive in the right context:
For a quick overview, standard report or on the fly analysis, Tableau Connector works great. Tableau offers a native connector out of the box, and even pre-built dashboard templates for SFDC, the only data source a template is available for, as far as I know…
The connector is well designed:
- Connect to Data
- Use your SFDC login and password, appended with your security token. That security token can be collected promptly in SFDC by going to your top right name > My Settings > Personal > Reset My Security Token. If your password is mypassword, and your security token is XXXXXXXXXX, then you must enter mypasswordXXXXXXXXXX to log in.
- You are offered a series of “Standard Connections”, a set of connected tables meant to cover the most frequent use cases as predefined by Tableau for standard configs of SFDC (Leads analysis in this case):
and below is a list of existing Tables in your instance of SFDC, including custom tables, to let you prepare custom extracts:
In this example, the customized SFDC instance includes contacts in the Lead table. It is possible to customize the joint with a few drag and drops, Tableau will automatically suggest joints based on SFDC’s DB schema.
- Clicking on Sheet will launch the mandatory creation of an extract database:
Once the initial extract is created, incremental refresh is available, a blessing for large data sets. On the flip side, a major shortcoming for this solution: the data is not “live” and the performance to create the extract is not that great…
Among other shortcomings of the solution:
- to blend SFDC with a different data source, such as sales targets, you need a separate data source and the blend has to be done using queries in Tableau, a major pain…
- There is no in database selection, all the records need to be extracted first, hence the long processing time with the extracts.
No wonder Tableau, the company, is not using that connector to process their own SFDC data, as explained in this great description of their internal dog food approach… In my case, I use Alteryx to gain the agility needed for deeper analysis.
- Security token is obtained by going to your top right name > My Settings > Personal > Reset My Security Token
- Remote Access Consumer Keys and Secret are obtained by your SFDC admin after he configures the API connection:
The reason those Remote Access keys are required is that they can be used for the SFDC Input connector as well, which can be used to write data to SFDC from Alteryx
Once the credentials are input, the Table tab comes alive. This is where you specify target tables, which fields will be extracted and rename them if need be:Note that I have seen some tables missing from the pick list, just type their name directly and it will work. Ensure that you are extracting only the fields relevant to your analysis, for performance.
The next tab is the most exciting, yet the least explicit:
the Query tab lets you input SOQL code to perform In database Selects, performed directly on SFDC’s cloud platform. In the example above, I restrict the contact records to extract only those Contacts that have a match in the OpportunityContactRole table and are Primary Contacts for an opportunity. SOQL is the SFDC version of SQL, which is pretty easy to handle, and well documented. A schema of the main Sales relevant tables is visible here.
Combining a series of SFDC connectors in a workflow is indeed very powerful and lets you prepare reports and TDEs to be loaded in Tableau, in way more elaborated ways that with the Tableau connector. Think of blending, adding predictive models or custom aggregates for instance…