2. Tutorial
CONTENT
INTRODUCTION .................................................................................................................................3
About tableau.........................................................................................................................................3
Benefits/Value Delivered........................................................................................................................3
IN TABLEAU .......................................................................................................................................3
Pre requisites..........................................................................................................................................3
Create calculated field based on ID........................................................................................................3
Create a dashboard action .....................................................................................................................5
Publish your dashboard..........................................................................................................................6
Get the link .............................................................................................................................................7
IN SALESFORCE ..................................................................................................................................7
Create Visualforce page .........................................................................................................................7
Create a custom section on the object ...................................................................................................8
Create a Visualforce section ...................................................................................................................9
Result....................................................................................................................................................10
REFERENCE ......................................................................................................................................11
CONTACTS .......................................................................................................................................11
3. 2
Tutorial
Executive Summary
A transaction process system (TPS) is an information processing system for business transactions involving the
collection, modification and retrieval of all transaction data. Business Intelligence is a concept that usually involves
the delivery and the integration of relevant and useful business information across an organization. It is therefore
natural to imagine how these two concepts could live together within an organization.
I used to work with several TPS with a preference for a packaged solution that genuinely – naturally provided a
combination of CRM capabilities and business intelligence capabilities. This product, released on the market by
Oracle came after its acquisition of Siebel. Oracle decided to propose a powerful package composed of CRM
product (leveraging Siebel strong industry knowledge), an ETL and one of their business intelligence solutions
already customized to provide the highest value to its customers (Oracle Business Answer). Cherry on the cake this
package was and is (still) a cloud-based solution!
After numerous Oracle CRM on Demand implementations, I understood how significant the value of business
Intelligence combined with a TPS is to many companies. I was lucky to see Salesforce growing up and I was, from
the very beginning, impressed by the positioning of this vendor on IT markets. Indeed, Salesforce may provide the
most advanced – CRM traditional “modules” (Sales, Service and Marketing). On top, they are built on such a
powerful platform that I do not think it exists, in all in 1 solution, an equivalent in any other vendor portfolio.
Salesforce allows companies to create their own TPS without worrying about hardware or infrastructure.
Because business intelligence solutions should get the ability to connect several data sources and should provide
great data visualization and because I am a big fan of cloud solutions I started to look into solutions that might be
integrated with Salesforce. I tried some connectors such as Qlikview for Salesforce (here) and I had the opportunity
to use Tableau. I have done several configurations to see how far this integration might go and I decided to share
my experience in a couple of tutorials.
The tutorial you are reading aims to demonstrate capabilities that can be covered by the integration of Tableau
and Salesforce.
4. 3
Tutorial
INTRODUCTION
ABOUT TABLEAU
Tableau is a business intelligence software that allows anyone to easily connect to data, then visualize and create
interactive, shareable dashboards.
Gartner named Tableau a leader in its Business Intelligence Magic Quadrant report for the fourth straight year. As
the gold standard for business intelligence, Tableau is a leader in empowering the entire enterprise with modern
analytics.
BENEFITS/VALUE DELIVERED
Benefits to get tableau connected to Salesforce will allow customers to leverage the power of a solution allowing
to leverage a package transactional solution (Sales, service, and marketing) or our own transactional solution in the
Cloud and an incredible way to visualize and play with data.
Customers can deploy a cost effective Business Intelligence solution that will improve the way your organization
uses information, collaborates and makes decisions.
IN TABLEAU
PRE REQUISITES
Before you begin you need:
Access to Tableau. Download Tableau desktop
Access to Salesforce with enough rights. Then keep your username and password
Data Integration between tableau and Salesforce already done (Whitepaper – topic 1)
Get view and dashboard to embed
CREATE CALCULATED FIELD BASED ON ID
In order to display a dynamic link we will create a calculated field in Tableau.
Select the Record ID in the available field in Tableau :
6. 5
Tutorial
Making the field available in the Marks section allow us to not display this value to have it available to filter the
dashboard.
In our example the matching ID is called “External ID” in Tableau that matching with “AIM_External_ID__c” in
Salesforce.
CREATE A DASHBOARD ACTION
Select Dashboard, Action:
7. 6
Tutorial
In the Dashboard action select the filter you want to filter (in our case “External ID” and select the sheets that
compose the dashboard you want to apply the filter to:
PUBLISH YOUR DASHBOARD
8. 7
Tutorial
When you created your views and dashboard you have to publish them either on Tableau server or on Tableau on
line.
To publish views and dashboard from Tableau Desktop to Tableau online:
Click on Server and then Publish Workbook:
GET THE LINK
Now the view or dashboard is publish, go on Tableau online and copy the link of your dashboard:
IN SALESFORCE
CREATE VISUALFORCE PAGE
Go to setup, Visualforce page and copy the following code:
<apex:page StandardController="AIM_Geography__c">
9. 8
Tutorial
<apex:iframe
src="https://dub01.online.tableau.com/t/sfdctableau/views/Test_AIM/Dashboard2?:embed=y
&:showShareOptions=true&:display_count=no&:showVizHome=no&External
ID={!AIM_Geography__c.AIM_External_ID__c}&:toolbar=no"
height="100%" width="100%" scrolling="true"/>
</apex:page></apex:page>
Let me explain de code above:
1. <apex:page StandardController="AIM_Geography__c"> where AIM_Geography__c" is the
technical name of the custom object
2. <apex:iframe – apex code to create an iframe where the Tableau dashboard will appear.
3. http://tableauserver/views/workbook/dashboard - URL of the published dashboard in Tableau
server.
4. ?:embed=yes – parameter to embed the dashboard into the iframe.
5. &External ID={! AIM_Geography__c.AIM_External_ID__c } – part of the URL to filter the view.
External ID is the field we used to filter in the dashboard.
!AIM_Geography__c.AIM_External_ID__c is the ID of the custom object used in Salesforce.
6. &:toolbar=no – Parameter to hide the toolbar.
7. height="100%" width="100%" – height and width of the iframe. It is advisable to be the same as
the Tableau dashboard (unless using automatic size). It can also be define in px (1100px)
8. scrolling="true" – enables the option of having a scroll in case it does not entirely fit.
CREATE A CUSTOM SECTION ON THE OBJECT
Go to the object you want to embed the Visualforce page on and create a custom section:
Give a name and configure the section with one column:
10. 9
Tutorial
CREATE A VISUALFORCE SECTION
To display this Visualforce page in an object section, select the object and go to Edit layout and select
“Visualforce page”:
Drag and drop the Visualforce page in the created section
11. 10
Tutorial
RESULT
On your application you can now see the Tableau view/dashboard embedded with the content filtered
depending on the record you are browsing:
Note that you can access all functionalities of tableau through this mashup such as mouse over and
other fancy Tableau functionality: