Excel with SAS and Microsoft Excel Andrew Howell Senior Consultant, ANJ Solutions SAS Global Forum Washington DC 23 26 March 2014
Introduction - SAS & Excel interaction Excel as a Data Source Excel as a Data Target Excel as a Report Target Data Source Data Target Report Target SAS/Access for PC Files Libname, SQL Connect Proc Import / Export Import / Export Wizards SAS Enterprise Guide SAS Visual Analytics ODS
SAS & Excel interaction (cont.) Client Server (SAS Client) Client Server (SAS Server) Client-Server (SAS client) DDE Client-Server (SAS Server) AMO
SAS & Excel Topics covered Sidebar: Worksheets & Named Ranges Sidebar: SAS PC File Server & 32/64-bit compatibility Excel as a Data Source Excel as a Data Target Excel as a Report Target Client Server (SAS Client) Client Server (SAS Server)
Excel Worksheets & Named Ranges SAS treats Excel Worksheets and Named Ranges as Tables. 5
SAS PC FILES Server the 32/64 bit barrier SAS SAS PC File Server SAS (64-bit) SAS PC File Server Data (32-bit) Data SAS PC Files Server is useful where SAS is on one server & data sources are another (non- SAS) server SAS PC Files Server serves as intermediary 64-bit SAS cannot directly read/write 32-bit data sources on the same server Solution: Use SAS PC Files Server on the same machine 6
Excel as a Data Source Proc Import Libname & SQL Connect Import Wizard (SAS Display Manager) Open / Import Task (SAS Enterprise Guide) SAS Visual Analytics 7
Requires SAS Access to PC Files DBMS=EXCEL imports all Excel types SAS v9.4 supports XLSX Proc Import DBMS CSV EXCEL EXCEL4 EXCEL5 EXCELCS XLS XLSX SAS v9.4 can read XLSX directly from Unix without SAS PC File Server 8
Libname & SQL Connect Requires SAS Access to PC Files Alternatively, SAS Access to ODBC / OLEDB Opens all Excel types Libname/Connect locks Excel file (until clear or end session) SAS v9.4 supports XLSX SAS v9.4 can read XLSX directly from Unix without SAS PC File Server 9
Import Wizard (SAS Display Manager) Requires SAS Access to PC Files SAS v9.4 supports XLSX SAS v9.4 XSLX can read directly from Unix without SAS PC File Server Import Wizard can generate SAS code for automation of future imports 10
Open/Import Tasks (SAS Enterprise Guide) Excel data can be Imported or Opened Importing data creates a SAS session and a SAS copy of the Excel data Data can be Opened by Enterprise Guide without the underlying SAS session using the supplied Microsoft drivers (check Tools-Options). (Does not require SAS/Access to PC Files.) 11
SAS Visual Analytics In general, importing data requires starting a SAS session on the SAS Application Server. Only XLSX & XLS can be imported. XLSM, XLST & other Excel types cannot. Multiple worksheets: By default, all worksheets are imported, one table per worksheet. Can select worksheets. Can select multiple worksheets into the one table. 12
Excel as a Data Target Proc Export Libname & SQL Connect Export Wizard (SAS Display Manager) Send To / Export Tasks (SAS Enterprise Guide) Visual Analytics Save data Save Report Object data 13
Proc Export Requires SAS Access to PC Files Supports all Excel versions from Excel97 onwards SAS v9.4 supports XLSX SAS v9.4 can add new XLSX worksheets or update existing XLSX worksheet SAS v9.4 can write XLSX directly to Unix without SAS PC File Server 14
Libname & SQL Connect Requires SAS Access to PC Files Alternatively, SAS Access to ODBC / OLEDB Supports all Excel versions from Excel97 onwards SAS v9.4 supports XLSX If no version supplied, default is Excel97 SAS v9.4 can add new XLSX worksheets or update existing XLSX worksheet SAS v9.4 can write XLSX directly to Unix without SAS PC File Server 15
Export Wizard (SAS Display Manager) Requires SAS Access to PC Files Supports all Excel versions from Excel97 onwards SAS v9.4 supports XLSX SAS v9.4 can add new XLSX worksheets or update existing XLSX worksheet SAS v9.4 can write XLSX directly to Unix without SAS PC File Server Export Wizard can generate SAS code for automation of future exports 16
Send To (SAS Enterprise Guide) Launches interactive Excel session Sends SAS data to Excel worksheet. Does not require SAS/Access to PC Files 17
Export (SAS Enterprise Guide) Saves data as an Excel file Overwrites existing Excel file Does not require SAS/Access to PC Files 18
Export As a Step (SAS Enterprise Guide) (As per Export) Repeatable process 19
SAS Visual Analytics VA data can be exported to SAS data via the SASIOLA engine. Data from List, Crosstab & Graph report objects can be exported: CSV, etc.. If Excel, then XLSX only 20
Excel as a Report Target Output Delivery System ODS CSVALL (*.csv) ODS MsOffice2k (*.html) ODS ExcelXP (*.xml) Most feature rich Download the ExcelXP tagset (Proc Template) code from SAS All available in Base/SAS 21
Excel as a Report Target In this example: Frozen headers Column widths Subtotals Autofilters Sheet naming Sample code from the SAS ODS web site. 22
Client Server (SAS client) Sample code from the SAS Companion for Windows Dynamic Data Exchange (DDE) Effectively, SAS does the Excel point & click on your behalf. Requires SAS & Excel on the same machine. Requires X capability (not always available) Outdated technology; better methods available (for example, AMO or Enterprise Guide plug-ins) 23
Client Server (SAS server) SAS Add-In for Microsoft Office Excel acts as the client Displaying subsets of data Displaying results User familiarity with Excel No new toolset to learn. Requires SAS BI Screenshots from the SAS Add-In for Microsoft Office Getting Started guide 24
Summary SAS Access for PC Files v9.4 Supports XLSX file formats SAS v9.4 can read XLSX directly from Unix without SAS PC File Server SAS Visual Analytics supports XLSX file formats SAS provides many options to support a wide range of users Programming Interactive» SAS clients» Excel client 25
The SASDummy blog (Chris Hemedinger) http://blogs.sas.com/sasdummy Knoware YouTube channel (SAS Partner) ODS and Microsoft Excel http://support.sas.com/rnd/base/ods/excel/ ExcelXP tagset Available at the SAS ODS MARKUP page http://support.sas.com/rnd/base/ods/odsmarkup RESOURCES 26
Archive of many forum whitepapers RESOURCES LexJansen.com 27
Discussion Boards RESOURCES Communities.sas.com 28
Thank You & Questions Andrew Howell Senior Consultant ANJ Solutions Melbourne, Australia Email: ahowell@anjsolutions.com.au LinkedIn: au.linkedin.com/in/howellandrew/ SASCommunity: AndrewHowell Twitter: @AndrewAtANJ