SAS Cloud Overview April 11, 2013 WHAT’S NEW IN FOUNDATION SAS FOR 9.4 Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . SAS 9.4 AGENDA Languages • Reporting • New Base Procedures • …and more • Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 1 SAS Cloud Overview April 11, 2013 LANGUAGES Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . SAS 9.4 BASE SAS NEW PROGRAMMING LANGUAGES DS2 - New SAS proprietary programming language • • • • Object-based syntax – user-defined methods and packages ANSI SQL data type support Embedded FedSQL in the SET statement Runs anywhere – Base, In-Database (via SAS Code Accelerator), HPA (via HPDS2) FedSQL - SAS proprietary implementation of ANSI SQL:1999 core standard • • Scalable, threaded, high-performance way to access, manage, and share relational data in multiple data sources Common SQL syntax across all data sources Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 2 SAS Cloud Overview PROC DS2; data _null_; method init(); dcl varchar(20) foo; foo = '**> Starting'; put foo; end; method run(); set ds2_sas.banks; put _all_; end; method term(); dcl char(11) bar; bar = '**> I quit!'; put bar; end; run; quit; April 11, 2013 BASIC DS2 SYNTAX Initial processing Execution loop Final processing Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . REPORTING Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 3 SAS Cloud Overview SAS 9.4 BASE SAS April 11, 2013 NEW OUTPUT DELIVERY SYSTEM (ODS) - DESTINATIONS ODS EPUB - Create SAS reports as e-books that can be read with Apple iBooks e-book reader on iPad and iPhone. ODS POWERPOINT – Create Microsoft PowerPoint slides that combine text and SAS reports. ODS HTML5 – Create HTML5 output for SAS reports to support delivery to any web browser that is HTML5-compatible. Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . EPUB Copyright C o p y r© i g2012, h t © SAS 2 0 1 3Institute , S A S Inc. I n sAll t i t rights u t e I nreserved. c. All rights reserved. 4 SAS Cloud Overview April 11, 2013 POWERPOINT Copyright C o p y r© i g2012, h t © SAS 2 0 1 3Institute , S A S Inc. I n sAll t i t rights u t e I nreserved. c. All rights reserved. HTML5 Copyright C o p y r© i g2012, h t © SAS 2 0 1 3Institute , S A S Inc. I n sAll t i t rights u t e I nreserved. c. All rights reserved. 5 SAS Cloud Overview April 11, 2013 ODS ODS STATISTICAL GRAPHICS Enhancements to ODS Graphics provide • Several new plot types, including axis tables that create an a a axis-aligned s a g ed row o o or co column u o of te textual tua data data. • The addition of numerous plot layout, panel, and axis options to control and enhance the output of your graphs. • A new sub-pixel rendering feature provides smoother curves for line charts and more consistent spacing in bar charts. • The ODS Graphics Designer introduces an Auto Charts feature that generates a variety of graphs automatically, based on your data. Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . SECURITY, EXTENDED ATTRIBUTES & MORE Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 6 SAS Cloud Overview April 11, 2013 SAS 9.4 BASE SAS SECURITY Lock-down • Restrict access to only those host paths and files that are included in that server’s list of permitted resources NOTE: Lock-down is not fully supported by all SAS tools and solutions. Metadata-bound libraries • Universally enforce metadata-layer permission requirements for physical tables—regardless of how a user requests access from SAS SAS/SECURE • Automatically delivered with Base SAS at no additional cost* Advanced Encryption Standard (AES) with SAS/SECURE • Encrypt SAS data on disks * United States export regulations on encryption software restrict access to SAS/SECURE software and related technical data. http://sww.sas.com/pub/OnlineDoc/v8-0/prod/sashtml/shr/z0354312.htm Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . EXTENDED ATTRIBUTES CUSTOMIZED ATTRIBUTES FOR DATA SETS AND VARIABLES Extended attributes are customized metadata for your SAS files. They • Can be defined on a data set or on an individual variable • Are organized into (name, value) pairs • Can be numeric or character – no pre-defined limit on the number of bytes allowed for a character value • Are managed by PROC DATASETS • Base engine support with more to follow (MLE, ACCESS) Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 7 SAS Cloud Overview April 11, 2013 EXTENDED EXAMPLE ATTRIBUTES DATA MYSALES; PURCHASE = "CAR"; AGE = 37; CARS = 3; RUN; PROC DATASETS NOLIST; MODIFY MYSALES; XATTR ADD DS MYLABEL=“THIS LABEL CAN BE AS LONG AS I NEED IT TO BE, WITH LOTS OF DETAILS ABOUT THIS DATA SET.”; XATTR ADD VAR AGE ( MEAN = 30 ) CARS ( MAKER = “FERRARI” MODELS=4 ); RUN; QUIT; Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . OTHER NEW FEATURES PRESENV The Work library data sets and catalogs, and the values of global statements, macro variables, and system options can be preserved between SAS sessions. The PRESENV Procedure • The PRESENV procedure preserves all global statements and macro variables in your SAS code from one SAS session i to t another. th Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 8 SAS Cloud Overview April 11, 2013 PRESENV EXAMPLE OPTIONS PS=100 NONOTES; DATA TEMP; X=1; X 1; RUN; %LET MYMAC=123; LIBNAME SAVEWORK 'MY_SAVE_DIR'; FILENAME CODEFILE 'MY_CODE_FILE.SAS'; PROC PRESENV PERMDIR=SAVEWORK SASCODE=CODEFILE; RUN; /* THEN IN A LATER JOB */ LIBNAME SAVEWORK 'MY_SAVE_DIR'; FILENAME CODEFILE 'MY_CODE_FILE.SAS'; %INC CODEFILE; Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . OTHER NEW JSON FEATURES SAS data sets can be written to an external file in JSON representation. The JSON Procedure • The JSON procedure reads data from a SAS data set and writes it to an external file in JSON representation. Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 9 SAS Cloud Overview April 11, 2013 PROC JSON EXAMPLE PROC JSON OUT='CLASS.JSON'; EXPORT SASHELP.CLASS; RUN; /* CLASS.JSON CONTAINS … */ {"SASJSONEXPORT":"1.0","SASTABLEDATA+CLASS": [{"NAME":"ALFRED","SEX":"M","AGE":14,"HEIGHT":69,"WEIGHT":112.5}, {"NAME":"ALICE","SEX":"F","AGE":13,"HEIGHT":56.5,"WEIGHT":84}, {"NAME":"BARBARA","SEX":"F","AGE":13,"HEIGHT":65.3,"WEIGHT":98}, … {"NAME":"RONALD","SEX":"M","AGE":15,"HEIGHT":67,"WEIGHT":133}, {"NAME":"THOMAS","SEX":"M","AGE":11,"HEIGHT":57.5,"WEIGHT":85}, {"NAME":"WILLIAM","SEX":"M","AGE":15,"HEIGHT":66.5,"WEIGHT":112}]} Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . OTHER NEW FEATURES STREAMING SAS now processes arbitrary text that contains SAS macro specifications in an input stream. The macro code in the stream t can be b expanded d d and d stored t d iin a fil file. The STREAM Procedure • The STREAM procedure enables you to process an input stream that consists of arbitrary text that can contain SAS macro specifications specifications. It can expand macro code and store it in a file. Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 10 SAS Cloud Overview April 11, 2013 PROC STREAM EXAMPLE %macro doit(nr,nc); <table> %do i=1 %to &nr; <tr> %do j=1 %to &nc; <td>&j</td> / %end; </TR> %end; </table> %mend; filename myfile temp; proc stream outfile=myfile; begin %doit(2,5) ;;;; Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . PROC STREAM EXAMPLE <table> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> </tr> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> </tr> </table> Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 11 SAS Cloud Overview April 11, 2013 OTHER NEW TIME ZONE SUPPORT FEATURES The SAS language now supports time zones based on Universal Coordinate Time (UTC) (UTC). • Data sets and catalog time stamps can specify the time based on a specific time zone. • SAS can also determine the time for an area, taking into account Daylight Savings Time. Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . OTHER NEW ZIP ACCESS METHOD FEATURES Read ZIP files provided by WinZip, Unix, et.al. • Write ZIP files that can be used by anyone else • I’m giving a presentation with more details • Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 12 SAS Cloud Overview April 11, 2013 ZIP EXAMPLE FILENAME MYZIP ZIP 'MYFILE.ZIP'; * ALREADY HAS FILE2.TXT; DATA _NULL_; FILE MYZIP(FILE1.TXT); PUT 'SOME TEXT'; RUN; DATA _NULL_; INFILE MYZIP(FILE2.TXT); INPUT; PUT _INFILE_; RUN; DATA _NULL_; NULL ; MEMNAME MEMNAME='FILE3.TXT'; FILE3.TXT ; FILE MYZIP MEMVAR MEMVAR=MEMNAME; MEMNAME; PUT 'SOME TEXT'; RUN; Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . OTHER NEW HADOOP FEATURES HADOOP access method to read/write to/from HDFS • PROC HADOOP for HDFS, MapReduce, Pig • Continuous evolution • Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 13 SAS Cloud Overview April 11, 2013 HADOOP EXAMPLE proc hadoop; hdfs copyfromlocal='myfile.txt' out='/tmp/myhdfsfile.txt'; run; filename xyz hadoop '/users/myid/mydir' cfg=… password=… userid=…; data _null_; null ; file xyz(somefile.txt); … Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 14 SAS Cloud Overview April 11, 2013 Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . RELEASE SCHEDULE • • • • • • Maintenance releases – but can be significant 9.4M1 in the field 9.4M2 releases in summer 2014 9.4M3 releases 9 months thereafter 9 4M4 releases 9 months after 9 9.4M4 9.4M3 4M3 … But always subject to change Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 15 SAS Cloud Overview April 11, 2013 SAS 9.4 SUMMARY • • • • • • Languages (DS2) Reporting (new ODS destinations) Security, extended attributes, & more (including STREAM, HADOOP, ZIP) SAS University Edition and SAS Studio Release schedule Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . FINDING OUT WHAT’S NEW Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 16 SAS Cloud Overview April 11, 2013 CONTACT INFO Rick.Langston@sas .com • Thanks to Amy Peters for a lot of this presentation! • Co p yr i g h t © 2 0 1 3 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r v e d . 17