One of the topics which generated a lot of interest during my presentation on SAS/Tableau Integration at the recent ‘TCC13’ Tableau Conference, was the idea of connecting to SAS datasets via the SAS OLE-DB Provider. While SAS themselves refused to allow such a presentation at their own customer conference…, it was unexpected as much as rewarding to find an audience of around 150 people at a Tableau conference interested in SAS connectivity!
Currently, Tibco Spotfire is the only 3rd party Data Discovery tool I’m aware of, which natively supports OLE-DB connectivity to SAS datasets. The benefit of OLE-DB is that it does not require access to SAS Server in order to connect to a SAS dataset. This is important, because often SAS datasets are stored locally or on a network share. SAS ODBC requires SAS Server connectivity, which in turn requires SAS client/server connectivity (eg SAS Integration Technologies)
A workaround is to connect to SAS datasets via OLE-DB using Excel as a ‘gateway’. Since the OLE-DB connection definition dialog is fully exposed within Excel, the connection details to the SAS dataset can be set up and tested. Then Tableau can be pointed to the Excel file, through which the SAS data can be retrieved.
Since the OLE-DB connection provides a way to automate the refresh of the SAS data from within Excel, this method can help ensure that the Tableau workbook is kept up-to-date as the underlying SAS data changes.
To follow are the steps to set up the Ole-DB connectivity.
Step 1: Define OLE-DB connection within Excel
Open up a blank Excel workbook. Under the ‘Data’ menu, select the option ‘From Other Sources’ then select ‘From Data Connection Wizard’:
Step 2: Select the Base SAS Data Provider
In the Data Connection Wizard, select ‘Other/Advanced’ then click Next:
Select the SAS OLE-DB Provider (9.2 or 9.3 as appropriate):
Step 3: Define Connection Properties
The next step is perhaps the least intuitive. The ‘Data Link Properties’ dialog requires a connection to be defined to the SAS data set. For this to work correctly, all that is needed is the path to the folder where the SAS datasets reside. This is entered into the ‘Data Source’ property. The other options such as ‘Location’ and ‘User name’ can be ignored.
Test the connection, then click OK.
Step 4: Select the desired SAS dataset to connect to
Step 5: Save the Data Connection
Step 6: Import the data
Verify that the OLE-DB is working as expected by importing the SAS dataset into Excel via the OLE-DB Provider connection which has just been defined:
Step 7: Save the Excel spreadsheet containing the SAS OLE-DB Connection
Step 8: In Tableau, Connect to the Excel File
Select ‘Connect to Data’, then select ‘Microsoft Excel’. Select ‘ Live Connection’.
When the Tableau workbook is saved, the SAS data can be refreshed by periodic refresh of the Excel connection. This can be scheduled to ensure that Tableau is retrieving the most up-to-date information from SAS.
Here is a video demonstrating the process described above (sorry, no audio):
Patrick Spedding is Senior Director of BI R&D for Rocket Software, and IBM Champion for IBM Collaboration Solutions. He is also a Non-Executive Director on the Board of Eastside Radio in Sydney, Australia. Prior roles include Director of Product Management for IBM Cognos, Director of Field Marketing for Cognos, Founder of Tableau partner See-Change Solutions, and SAS Solution Manager for BI and Strategy Management. Patrick's qualifications include an MBA degree in Marketing (AIU), Diploma in Management (University of Michigan), BSc (Hons) in Mathematics (Loughborough University, UK), Fellow of the Australian Institute of Management (FAIM), and member of the Australian Institute of Company Directors (AICD).
Find Patrick on Google+
Comments (4)
Victor
Hi Patrick,
Thank you for the article!
Just wonder if you checked how does this approach work with SAS formats? Can Tableau read data from SAS dataset which uses formats?
Hi Victor, thanks for your comment. Yes, I have considered this, in fact it is one of the areas I covered in my presentation at TCC13. As requested by Tableau Software, I will be writing up all the various approaches and techniques for SAS/Tableau integration into a Whitepaper which Tableau will be publishing. So watch this space! You may also like to review a previous post which covered handling SAS dates
Hi Dan, that paper is about 90% complete, I just need to finish it up and send to Tableau who will be publishing it. I can send you and advance copy when I finally finish it. Sorry for the delay!
Hi Patrick,
Thank you for the article!
Just wonder if you checked how does this approach work with SAS formats? Can Tableau read data from SAS dataset which uses formats?
Thank you,
Victor
News Corp Australia
Hi Victor, thanks for your comment. Yes, I have considered this, in fact it is one of the areas I covered in my presentation at TCC13. As requested by Tableau Software, I will be writing up all the various approaches and techniques for SAS/Tableau integration into a Whitepaper which Tableau will be publishing. So watch this space! You may also like to review a previous post which covered handling SAS dates
Hi Patrick,
Did the white paper you mentioned ever get published?
Dan.
Hi Dan, that paper is about 90% complete, I just need to finish it up and send to Tableau who will be publishing it. I can send you and advance copy when I finally finish it. Sorry for the delay!