We Have Computers, We Should Use Them!

Size: px
Start display at page:

Download "We Have Computers, We Should Use Them!"

Transcription

1 We Have Computers, We Should Use Them! Input Data Old Process New Process Old result file Equal? New result file Presented by: Steve First 2997 Yarmouth Greenway Drive, Madison, WI Phone: (608) Web: Systems Seminar Consultants, Inc

2 WISAS: How Did We Get Here? This paper was written by Systems Seminar Consultants, Inc. SSC specializes in SAS software and offers: Training Services Consulting Services Help Desk Plans Newsletter Subscriptions to The Missing Semicolon COPYRIGHT 2016 Systems Seminar Consultants, Inc. All rights reserved. Printed in the United States of America. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, or otherwise, without prior written permission of SSC. SAS is a registered trademark of SAS Institute Inc. in the USA and other countries. The Missing Semicolon is a trademark of Systems Seminar Consultants, Inc. Systems Seminar Consultants, Inc

3 WISAS? Systems Seminar Consultants, Inc

4 Introduction Background: Me SAS SSC WISAS Systems Seminar Consultants, Inc

5 Why is Wisconsin Famous? Cheese Beer Bratwurst Cold Weather (How cold?) Snow plow hockey No high speed trains Illinois tourists University of Wisconsin Madison A hotbed of SAS users Not nearly as cold as Minnesota Not nearly as boring as Iowa Systems Seminar Consultants, Inc

6 Who Am I? Computer science major SAS user since 1976 Done lots of things (none of them very well) From Wisconsin Teller of Side Splitting Jokes Certainly do not know everything. Systems Seminar Consultants, Inc

7 Who Am I? Graduated University in 1974 Cobol programmer F. W. Woolworth 1975 Cobol programmer UW Madison Until 1977 Heard about SAS Cobol, systems programmer John Deere Dubuque Works Until 1980 Started using SAS, told everyone, attended class. Wisconsin DOT Systems, SAS sup (full time to 1983, part time to1987) Started SSC 1983 Systems Seminar Consultants, Inc

8 My Influences Started as a Math major Moved to Computer Science (open book tests! ) First Comp Sci Professor Lonny Winrich Donald Knuth An unknown Ccbol consultant Lemuel Jones Allen Hershey Joe Guepfer Gary Larson My brothers-in-law LeRoy Bessler Many others Systems Seminar Consultants, Inc

9 My Influences First Comp Sci Professor Lonny Winrich Instilled a love of programming Had been an applications programmer at Honeywell Taught practical techniques and applications (Use a displaying statement to debug logic. ie. PUTLOG) Systems Seminar Consultants, Inc

10 Who Said This And When? The process of preparing programs for a digital computer is especially attractive because it not only can be economically and scientifically rewarding, it can also be an aesthetic experience much like composing poetry or music. Systems Seminar Consultants, Inc

11 Who Said This And When? The process of preparing programs for a digital computer is especially attractive because it not only can be economically and scientifically rewarding, it can also be an aesthetic experience much like composing poetry or music. Donald Knuth - The Art of Computer Programming Volume 1: Fundamental Algorithms (1969) Systems Seminar Consultants, Inc

12 My Influences Donald Knuth Professor Emeritus Stanford True pioneer in computer science and mathematics Art of Computer Programming Tek Latek Met him in Madison License plate Systems Seminar Consultants, Inc

13 My Influences Lemuel Jones Corporate Development Trainer IBM Small but very dynamic individual Gave a week long workshop in 1976 Instilled teamwork Instilled the idea for looking for the unusual and opposites Elevators Colas Freeways Develop teamwork Systems Seminar Consultants, Inc

14 My Influences Unknown Cobol Code Consultant Saw a program that was structured at Woolworth that was beautiful. Systems Seminar Consultants, Inc

15 My Influences Allen Hershey Mathematician at Naval Weapons Lab Developed Hershey Fonts What are the Hershey Fonts? Some similarities to Knuth Systems Seminar Consultants, Inc

16 My Influences Joe Guepfer Humble machinist One of the most brilliant people I have met Just look around, great ideas are all over the place. Systems Seminar Consultants, Inc

17 My Influences My brothers-in-law A lawyer Haven t you written every program ever needed? An Engineer Programming is something engineers do in their spare time. What more than a spreadsheet is possibly needed? A Cheesemaker No comments on programming Systems Seminar Consultants, Inc

18 LeRoy Bessler SAS Installer at Miller Brewing Company Installing SAS/GRAPH and graphics devices and printers Thorough, ran every single graph in SAS/GRAPH manual Protocol converters Has been a good friend for a long time. A steady supporter of sas and user groups all these years. Systems Seminar Consultants, Inc

19 SAS History SAS Authors Jim Goodnight John Sall Tony Barr Jane Hellwig Systems Seminar Consultants, Inc

20 SAS History 1966 In 1966, there was no SAS. Was need for a computerized statistics program to analyze vast amounts of agricultural data frtom (USDA) grants. Development critically important to members of the University Statisticians Southern Experiment Stations, a consortium of eight landgrant universities that received the majority of their research funding from the USDA. The schools came together under a grant from (NIH) to develop a general-purpose statistical software package to analyze all the agricultural data they were generating. The resulting program, the Statistical Analysis System, gave SAS both the basis for its name and its corporate beginnings. Systems Seminar Consultants, Inc

21 Academic Roots and Early Leadership North Carolina State University in Raleigh became leader in consortium. (It had a more powerful mainframe computer). The project eventually found a home in the Statistics Department. NCSU faculty members Jim Goodnight and Anthony Barr emerged as the project leaders. Barr creating the architecture Goodnight implemented the features that sat on top of the architecture and expanded the system's capabilities. Systems Seminar Consultants, Inc

22 1972 NIH discontinued funding consortium paid $5,000 apiece each year to allow NCSU to continue developing and maintaining the system and supporting their statistical analysis needs. Systems Seminar Consultants, Inc

23 Expanding Team and Clientele Over the years SAS software was licensed by pharmaceutical companies, insurance companies and banks, as well as by the academic community that had given birth to the project. Jane Helwig, another Statistics Department employee at NCSU, joined the project as documentation writer, John Sall, a graduate student and programmer, rounded out the core team. Systems Seminar Consultants, Inc

24 First Users Conference More than 300 people attended the conference in Growing customer base that already numbered close to 100 academic, government and corporate entities, Evident that success as an independent operation was possible. Systems Seminar Consultants, Inc

25 Incorporation Goodnight, Barr, Helwig and Sall left NCSU and formed SAS Institute Inc. a private company "devoted to the maintenance and further development of SAS." They opened offices in a building at 2806 Hillsborough Street, across from the university. Systems Seminar Consultants, Inc

26 Laying the Foundation In 1976 computers filled rooms the size of small houses, and programs and data were stored on punch cards. Base SAS, consisting of about 300,000 lines of code, would produce about 150 boxes of cards - a stack more than 40 feet high. Laid end to end, the boxes of cards would stretch more than 180 feet. Systems Seminar Consultants, Inc

27 1980s Expanding frontiers: technology, work environment and geography The growth of SAS in the next decade was phenomenal: Inc. magazine named SAS one of the fastest-growing companies in America for five consecutive years. The new headquarters campus - huge compared to the Hillsborough Street location - grew from one building with offices for 50 employees to 18 buildings, including a training center, publications warehouse and video studio. SAS also expanded its geographic boundaries, opening new offices on four continents and its first US regional sales offices. By the end of the decade, SAS had nearly 1,500 employees worldwide. Systems Seminar Consultants, Inc

28 1990s Mining the Opportunities SAS would grow its work force to more than 7,000 people around the world, with employees on every continent, in every major US city and in the capitals of international commerce all over the planet. Systems Seminar Consultants, Inc

29 Into the 21st Century SAS celebrated its 25th anniversary in 2001, right on the heels of the turn of the millennium and the Y2K frenzy that seemed to engulf the world of technology. With a new logo and tagline - THE POWER TO KNOW - in place, SAS set off to increase its visibility and global recognition. Systems Seminar Consultants, Inc

30 2016 Number of Countries Installed 148 Total Worldwide Customer Sites 80,000 sites. Fortune Global 500 Customers 91 of the top 100 Worldwide Employees 14,059 total employees Systems Seminar Consultants, Inc

31 History of SSC Part time training starting in 1983 SAS training was a big part of business From the start, also did project work to keep us busy and honest Full time by First employee 1988 Employee count has varied from 1 to 25 over the years. Lots of systems, conversions, training. Systems Seminar Consultants, Inc

32 SSC Standards Customer service comes first, we are the best free workers there are. Everybody codes and trains Part time training starting in 1983 SAS training was a big part of business From the start, also did project work to keep us busy and honest Full time by 1987 First employee 1988 Employee count has varied from 1 to 25 over the years Use computers to automate projects whenever possible Code is documented!!!. Systems Seminar Consultants, Inc

33 SSC Standards The program isn t finished until a person of normal intelligence can understand it. Simple things: Good naming conventions Good directory standards Comments and documentation Systems Seminar Consultants, Inc

34 Comment and Code Clearly Comments and clear code are important in any language. Commenting tips: Use comments. Write a header box and change the log. Code flower boxes before separate routines. Comment as you develop the code, not after. Add comments to each line, if necessary. Be sure to comment difficult code. Code blank lines between each programming step. Systems Seminar Consultants, Inc

35 A Commenting Example An Adequate Program data sjfsas.partdesc; infile tapein; input partno $1-9 desc $38-67 ; proc sort data=sjfsas.partdesc; by partno; proc contents data=sjfsas.partdesc; title 'Sjfsas.Partdesc';run; Systems Seminar Consultants, Inc

36 A Commenting Example A Better Program /********************************************************************/ /* SAS Warranty System program wtypgm10 */ /* */ /* description: */ /* this creates a sas dataset sjfsas.partdesc from an input tape.*/ /* this dataset will be merged with other warranty data later. */ /* */ /* input: tape from sjf systems. */ /* output: sas dataset sjfsas.partdesc */ /* schedule: annually */ /* date written: 27 january 2016 */ /* author: Steven First madison wi (608) */ /* revisions: */ /********************************************************************/ Systems Seminar Consultants, Inc

37 A Commenting Example (continued) data sjfsas.partdesc; /* build sas ds */ infile tapein; /* raw input filedef */ input partno $1-9 /* part number */ desc $38-67 /* description */ ; /* end of input */ run; /* end of step */ proc sort data=sjfsas.partdesc; /* run proc sort in */ by partno; /* part number order */ run; /* end of step */ proc contents data=sjfsas.partdesc; /* run proc contents */ title 'Sjfsas.Partdesc'; /* title */ run; /* end of step */ /****************** end of program wtypgm10 *********************/ Systems Seminar Consultants, Inc

38 WISAS History Mid 1980 s I got a list of SAS users Enlisted help from Joy First, Nelson Eismann, Carey Fleischmann Bill Hurley, Bill Kuth, Dave Pinger, LeRoy, many others First meeting was at American Family in Madison Got a newsletter, lots of great volunteers Lots of good speakers Bounced around Madison, Milwaukee, Chicago Costs were informal, out of pocket Regional groups starting about the same time. Systems Seminar Consultants, Inc

39 WISAS History Rented Space at technical college in Grayslake, IL. After a couple of years, LeRoy took over. And here we are!!!!! Systems Seminar Consultants, Inc

40 Why Do I (We) Like SAS? A language of defaults. Libraries (work) Members (data ; proc print;) Columns Integrated dictionary Data step. Automatic loop Automatic open / close of files Automatic initialization Automatic eof check Automatic output Procs Many assumed actions and statistics Systems Seminar Consultants, Inc

41 Why Do I (We) Like SAS? A simple rectangular shaped file structure. A good programming language Read and write any file First., last. control breaking with BY processing Built in data dictionary IF, WHERE, do loops, arrays Link, return Function library Formats, informats Can read files dynamically (all files in a directory). Macro language Interface is much improved with enterprise guide. Systems Seminar Consultants, Inc

42 My First SAS Job I spent 10 years in Iowa (in a 3 year period) A data center transfers thousands of mostly blank records down a communications line. It takes a long time to move the data. 80 byte records xxx xxx xxx RJE Data Center Data Center 2 80 byte records xxx xxx xxx Systems Seminar Consultants, Inc

43 A Cobol Solution Write two programs to "pack" and "unpack" data. (8 hours) 80 byte records xxx xxx PGM1 RJE 80 byte records xxx xxx xxx xxx Data Center Data Center 2 80 byte records xxx xxx xxx xxx PGM2 80 byte records xxx xxx Systems Seminar Consultants, Inc

44 A SAS Solution Two Small Programs (JCL defined both files with LRECL=80). DATA _NULL_; /* DON'T NEED DS */ INFILE IN; /* RAWFILE IN */ FILE OUT; /* RAWFILE OUT */ TWENTY $CHAR20.; /* READ 20 CHAR */ PUT TWENTY /* 20 OUT, HOLD PTR */ RUN; /* END OF STEP */ The Reversing Program Be careful with DATA _NULL_; /* DON'T NEED DATASET*/ INFILE IN; /* RAW FILE IN */ FILE OUT LRECL=80; /* FILEOUT */ INPUT /* READ TWENTY/LOOP */ TWENTY $CHAR20. /* FIXED PTRS CAUSE */ ; /* LOOPS, BE CAREFUL */ IF TWENTY NE ' ' THEN /* IF NONBLANK? */ PUT /* OUTPUT 20 TWENTY $CHAR20.; /* $CHAR SAVES BLANKS*/ IF _N_ > 20 THEN /* A GOOD IDEA WHILE */ STOP; /* TESTING */ RUN; /* END OF STEP */ Systems Seminar Consultants, Inc

45 A Subsetting Program Select part of a file. DATA _NULL_; /* DON'T NEED DATASET */ INFILE IN; /* RAW FILE IN */ FILE OUT; /* RAW FILE OUT */ ID $CHAR1.; /* INPUT FIELDS NEEDED */ IF ID='2'; /* WANT THIS RECORD? */ PUT _INFILE_; /* YEP, WRITE IT OUT */ RUN; Selecting a Random Subset Randomly select about 10% of a file. DATA _NULL_; /* NO DATASET NEEDED */ INFILE IN; /* RAW FILE IN */ FILE OUT; /* RAW FILE OUT */ INPUT; /* READ A RECORD */ IF RANUNI(0) LE.10; /* TRUE FOR APP. 10% */ PUT _INFILE_; /* WRITE OUT OBS */ RUN; /* END OF STEP */ Systems Seminar Consultants, Inc

46 A Cobol Generated Report A sparse matrix crossing two variables Number of Transactions by Termid and Operator Operator TERMID A PROC FREQ Alternative PROC FREQ; TABLE TERMID * OPERATOR / LIST; RUN; Systems Seminar Consultants, Inc

47 A Mass Change Program Change all SYSOUT=A to SYSOUT=* in a PROC Library Issues: many directories or PDS members production is affected change logic may be complex back up before, be careful LRECL=80, use PROC SOURCE sample lib PDSFIND, PDSCHANG Systems Seminar Consultants, Inc

48 A Mass Change Program (continued) Mass Change Flow A SOME PDS B PROC SOURCE DATA STEP SCAN REPL./ ADD NAME = A / ADD NAME = B./ ADD NAME = A / ADD NAME = B IEBUPDTE A ANOTHER PDS B Systems Seminar Consultants, Inc

49 The Mass Change SAS Code // EXEC SAS //PDSIN DD DSN=SOMEPDS,DISP=SHR //SEQIN DD UNIT=DISK,SPACE=(TRK,500) //SEQOUT DD DSN=&&SEQOUT,DISP=(,PASS), // UNIT=DISK,SPACE=(TRK,500) PROC SOURCE INDD=PDSIN OUTDD=SEQIN SELECT...; / MODIFY AS NEEDED / RUN; DATA _NULL_; INFILE SEQIN; WHOLE $CHAR80.; COL=INDEX(WHOLE,'SYSOUT=A'); IF COL NE 0 THEN SUBSTR(WHOLE,COL,8)='SYSOUT=*'; FILE SEQOUT; WHOLE $CHAR80.; Systems Seminar Consultants, Inc

50 The Mass Change SAS Code (continued) RUN; // EXEC PGM=IEBUPDTE //SYSPRINT DD SYSOUT=* //SYSUT2 DD DSN=SOMEOTHR.PDS,DISP=OLD //SYSIN DD DSN=&&SEQOUT,DISP=(OLD,DELETE) Notes: Backup before starting, be careful!! Systems Seminar Consultants, Inc

51 Programs that Write Other Programs 1. Use SAS to read data, figure logic. 2. Build another program. 3. Submit 2nd program to Internal reader or file. Applications: job schedulers disk management programs many others Be careful if deleting data! Systems Seminar Consultants, Inc

52 Programs that Write Other Programs There goes the JES Queue. A system to automate job submission JOB LIBRARY //JOB1 //JOB2 //SCHDJOB SCHDJOB Internal reader Systems Seminar Consultants, Inc

53 My Favorite SAS at end of the INPUT statement prevents the next INPUT statement from reading a new record. holds the current record. Syntax: The current record remains in the buffer when the next INPUT statement is executed. The column pointer stays in its current location. input hold is released: - at the end of the current DATA step iteration (loop) - when an INPUT without executes, including: INPUT; - INPUT reads past the end of the current record (flowover) Note: If a hold is in effect the statement INPUT; releases the hold only. It does not read a new record or place data in the PDV. Systems Seminar Consultants, Inc

54 A Example Read a file with three record types. An account file has at least three kinds of records each with a unique layout: type 05 - person record type 15 - address record type 21 - sales record The records can appear in any order and are not necessarily related. The problem: Build a separate SAS dataset for each of the three types listed above. Delete any other records found. Systems Seminar Consultants, Inc

55 Three Record Type Example Solution to read TYPE then conditionally read other lines. file RAWIN 05 BETH SMITH NORTH AVE MADISON WI CHRIS JONES FIRST ST MADISON WI data person (keep=fname lname) address (keep=street city state zip) sales (keep=sales expense); infile rawin; type /* input and hold */ (continued) Systems Seminar Consultants, Inc

56 Three Record Type Example Solution (continued) if type='05' then do; /* is it a 05? */ fname lname $10.; output person; /* write to PERSON */ end; else if type='15' then do; /* is it a 15? */ street city state zip $5.; output address; /* write to ADDRESS */ end; else if type='21' then do; /* is it a 21? */ sales expense 7.2 ; output sales; /* write to SALES */ end; run; Systems Seminar Consultants, Inc

57 The Absolute Best Data Step Debugging Statement PUTLOG!!!!!! Syntax: PUTLOG constants variable format variable= _all_; Notes: PUTLOG displays PDV data as it goes by. Systems Seminar Consultants, Inc

58 Debugging Data Steps Why wasn t Bloomington selected? 27 data mycity; 28 infile datalines; 29 state County $10. City Rate; 31 If State ='MN'; 32 If County='Hennepin'; 33 if City = 'Bloomington'; 34 datalines; MN Hennepin Bloomington 100 WI Dane Monona 200 NOTE: The data set WORK.MYCITY has 0 observations and 4 variables. Systems Seminar Consultants, Inc

59 The Best Debugging Statement PUTLOG Displays Data step values at stategic spots. 42 data mycity; 43 infile datalines; 44 state County $10. City Rate; 46 putlog '*** Before State Check' _all_; 47 if State ='MN'; 48 putlog '*** Before County Check' state= county= city=; 49 if County='Hennepin'; 50 putlog '*** Before City Check' state= county= city=; 51 if City = 'Bloomington'; 52 putlog '*** After City Check' state= county= city=; 53 datalines; *** Before State Checkstate=MN County=Hennepin City=Bloomingt Rate=100 _ERROR_=0 _N_=1 *** Before County Checkstate=MN County=Hennepin City=Bloomingt *** Before City Checkstate=MN County=Hennepin City=Bloomingt *** Before State Checkstate=WI County=Dane City=Monona Rate=200 _ERROR_=0 _N_=2 *** Before State Checkstate=IL County=Cook City=Chicago Rate=300 _ERROR_=0 _N_=3 Systems Seminar Consultants, Inc

60 Pseudo-Variables Pseudo-variables are special data step variables to help your data step programming. Syntax: IN =variable END =variable FIRST.by-variable LAST.by-variable tells which dataset contributed to current observation tells when observation is the last one tells if observation is first in a BY group tells if observation is last in a BY group Notes: These variables have values of 1 (true) or 0 (false). They are present in a PDV but not in the output dataset. FIRST. and LAST. variables are automatically created by the BY statement. You must create END and IN variables. Systems Seminar Consultants, Inc

61 An Example Showing Pseudo-Variables Merge Person and Sales datasets. Person Dataset OBS Name Division Salesds Dataset OBS Name Sales 1 ANDREW S 1 ANDREW BENJAMIN S 2 ANDREW BETH H 3 BARBARA BETH data persales; merge person(in=onp) salesds(in=ons) end=eof; by name; run; Systems Seminar Consultants, Inc

62 An Example Showing Pseudo-Variables (continued) Program data vector ----Dataset Persales Pseudo Variables First. Last. OBS Name Division Sales Onp Ons Eof Name Name 1 ANDREW S ANDREW S BARBARA BENJAMIN S BETH H Systems Seminar Consultants, Inc

63 Other Favorite SAS Features PROC FREQ to get distributions (count things). PROC SUMMARY/MEANS to get quick totals for tie out, multi level summaries, classification, analysis PROC FORMAT for formatting, function use, informatting. Many others. Systems Seminar Consultants, Inc

64 A Classic Macro Problem PERM.COUNTYDT Obs COUNTYNM READING 1 ASHLAND ASHLAND BAYFIELD BAYFIELD BAYFIELD WASHINGTON 143 Each day you read a SAS dataset containing data from counties in Wisconsin. Anywhere between 1 and 72 counties might report that day. Systems Seminar Consultants, Inc

65 One Solution Solution: Write a SAS Macro. A multi-step macro can communicate between steps. %MACRO COUNTYMC; /* MACRO START */ DATA _NULL_; SET PERM.COUNTYDT END=EOF; /* READ SAS DATASET */ BY COUNTYNM; /* SORT SEQ */ IF FIRST.COUNTYNM THEN DO; /* NEW COUNTY? */ NUMCTY+1; /* ADD 1 TO NUMCTY */ CTYOBS=0; /* OBS PER COUNTY TO 0 */ END; CTYOBS+1; /* ADD 1 OBSER FOR CTY */ IF LAST.COUNTYNM THEN DO; /* EOF CTY,MAKE MAC VARS*/ CALL SYMPUT('MCTY'!!LEFT(PUT(NUMCTY,3.)),COUNTYNM); CALL SYMPUT('MOBS'!!LEFT(PUT(NUMCTY,3.)),LEFT(CTYOBS)); END; IF EOF THEN /* VERY LAST OBS? */ CALL SYMPUT('MTOTCT',NUMCTY); /* MAC VAR NO DIF CTYS */ RUN; Systems Seminar Consultants, Inc

66 The Solution (continued) %PUT *** MTOTCT=&MTOTCT; /* DISPLAY NO OF CTYS */ %DO I=1 %TO &MTOTCT; /* LOOP THRU ALL CTYS */ %PUT *** LOOP &I OF &MTOTCT; /* DISPLAY PROGRESS */ PROC PRINT DATA=PERM.COUNTYDT; /* PROC PRINT */ WHERE COUNTYNM="&&MCTY&I"; /* GENERATED WHERE */ OPTIONS PAGENO=1; /* RESET PAGENO */ TITLE "REPORT FOR COUNTY &&MCTY&I"; /* TITLES & FOOTNOTES */ FOOTNOTE "TOTAL OBSERVATION COUNT WAS &&MOBS&I"; RUN; %END; /* END OF %DO */ %MEND COUNTYMC; /* END OF MACRO */ %COUNTYMC /* INVOKE MACRO */ Systems Seminar Consultants, Inc

67 A Call Execute Example CALL EXECUTE can also dynamically generate and submit code. data pass2; set perm.countydt; by countynm; if first.countynm then ctyobs=0; ctyobs+1; if last.countynm then call execute('proc PRINT DATA=PERM.COUNTYDT; '!! 'WHERE COUNTYNM="'!! countynm!! '";'!! 'OPTIONS PAGENO=1;'!! 'TITLE "REPORT FOR COUNTY '!! countynm!! Systems Seminar Consultants, Inc

68 A Call Execute Example (continued) The rest of the program follows. run; '";'!! 'FOOTNOTE "TOTAL OBSERVATION COUNT WAS '!! put(ctyobs,2.)!! '";'!! 'RUN;' ); Systems Seminar Consultants, Inc

69 A Call Execute Example (continued) The resulting SAS Log: NOTE: CALL EXECUTE generated line. 1 + PROC PRINT DATA=PERM.COUNTYDT; WHERE COUNTYNM="ASHLAND"; OPTIONS PAGENO=1; TITLE "REPORT FOR COUNTY ASHLAND"; FOOTNOTE "TOTAL OBSERVATION COUNT WAS 2";RUN; NOTE: CALL EXECUTE generated line. 2 + PROC PRINT DATA=PERM.COUNTYDT; WHERE COUNTYNM="BAYFIELD"; OPTIONS PAGENO=1; TITLE "REPORT FOR COUNTY BAYFIELD"; FOOTNOTE "TOTAL OBSERVATION COUNT WAS 3";RUN;... Systems Seminar Consultants, Inc

70 Exploring Data Through The EG Query Builder A query is a task that allows you to manipulate data tables, and subset data. The Query Builder in Enterprise Guide generates PROC SQL code behind the scenes. Join tables Select variables Filter data Sort data Change data source Compute columns Set up prompts De-dup observations Change query options Add titles, footnotes Limit output And more Systems Seminar Consultants, Inc

71 Exploring Data Through The Query Builder The Query Builder uses point and click to create PROC SQL queries. Systems Seminar Consultants, Inc

72 SQL in the Query Builder Generates PROC SQL code behind the scenes including pass through. Systems Seminar Consultants, Inc

73 Joining Tables with the Query Builder Up to 32 tables can be joined in a query. Systems Seminar Consultants, Inc

74 Summary Tables Task (PROC TABULATE) Uses analysis and classification variables to roll up data. Calculates selected statistics and classifications Can be customized in a Report Preview Area User can see the rows and columns, variable roles, etc. before the report is produced. Systems Seminar Consultants, Inc

75 Summary Tables Task Systems Seminar Consultants, Inc

76 Summary Tables Task Systems Seminar Consultants, Inc

77 Summary Tables Task - Output Systems Seminar Consultants, Inc

78 A Partial SAS Log 31 libname winfile '/ssctest/dir'; NOTE: Libref winfile was successfully assigned as follows: Engine: V9 Physical Name: /ssctest/dir data winfile.cust_info ; %let _EFIERR_ = 0; /* set the ERROR detection */ infile '/ssctest/dir/cust_info.csv' delimiter = ',' 175 MISSOVER DSD lrecl=32767 firstobs=2 ; input cust_id_ $ Account_Number Account_Name $ ; if _ERROR_ then call symputx('_efierr_',1); run; NOTE: The infile '/ssctest/dir/cust_info.csv' is: Filename=/ssctest/dir/cust_info.csv, Owner Name=bsweinb,Group Name=sasdev, Access Permission=rw-r--r--, Last Modified=Mon Oct 19 09:13: , File Size (bytes)= Systems Seminar Consultants, Inc

79 A Hand Drawn Flowchart Systems Seminar Consultants, Inc

80 The Datafile Table Systems Seminar Consultants, Inc

81 Final Flowchart Systems Seminar Consultants, Inc

82 Code Improvements Last Reference of a file is recorded. Could generate delete code Perhaps generate, but require user to insert. Long running steps. Relatively easy to identify long running steps What about macro that generate individually small steps, that together are repeated thousands of times and overall represent a significant elapsed time? There are virtually unlimited opportunities for programs to examine run time statistics and make or at least suggest improvements automatically. Systems Seminar Consultants, Inc

83 Summarizing the Steps Dataset 13 Minutes 21% of entir Systems Seminar Consultants, Inc

84 A Graph showing the Same Information Bar Chart of Elapsed Time sas_step_no 544 FREQ. Percentage of Total Elapsed Time Remaining Percentage of Total Elapsed Time Systems Seminar Consultants, Inc

85 Data Lineage CUST_IDS CUST_IDS_ADJ CUST_IDS_FINAL Systems Seminar Consultants, Inc

86 Data Lineage CUST_IDS CUST_IDS_ADJ CUST_IDS_FINAL ID $10 ADDR $10 STATE $20 ID $10 STATE $20 ADDR $10 ID $10 STATE $20 ADDR $10 Systems Seminar Consultants, Inc

87 Data Lineage CUST_IDS CUST_IDS_ADJ CUST_IDS_FINAL ID $10 ADDR $10 STATE $20 ID $10 STATE $20 ADDR $10 ID $10 STATE $20 ADDR $10 Systems Seminar Consultants, Inc

88 My Aunt Rose From Milwaukee Systems Seminar Consultants, Inc

89 Conclusions The SAS system is still a very vibrant and flexible system Applications are not always where you would expect them I would encourage you to look for those contrarian applications Keep a good sense of humor. Systems Seminar Consultants, Inc

90 Contact Us SAS Training, Consulting, & Help Desk Services 2997 Yarmouth Greenway Drive Madison, WI (608) Fax (608) Steve First, President x 306 sfirst@sys-seminar.com Systems Seminar Consultants, Inc

An Introduction to SAS Macros

An Introduction to SAS Macros An Introduction to SAS Macros Expanded token SAS Program (Input Stack) SAS Wordscanner (Tokenization) Non-Macro (Tokens) SAS Compiler % and & Triggers Macro Facility Steven First, President 2997 Yarmouth

More information

An Introduction to SAS Macros Steven First, Systems Seminar Consultants, Madison, WI

An Introduction to SAS Macros Steven First, Systems Seminar Consultants, Madison, WI Paper 153-26 An Introduction to SAS Macros Steven First, Systems Seminar Consultants, Madison, WI Abstract The SAS programming language has a rich tool-box of features that can offer a lot of power to

More information

Innovative Performance Improvements Through Automated Flowcharts In SAS

Innovative Performance Improvements Through Automated Flowcharts In SAS ABSTRACT Paper 11580-2016 Innovative Performance Improvements Through Automated Flowcharts In SAS Steven First, Systems Seminar Consultants, Inc. One of the tedious but necessary things that SAS programmers

More information

2997 Yarmouth Greenway Drive, Madison, WI Phone: (608) Web:

2997 Yarmouth Greenway Drive, Madison, WI Phone: (608) Web: Getting the Most Out of SAS Enterprise Guide 2997 Yarmouth Greenway Drive, Madison, WI 53711 Phone: (608) 278-9964 Web: www.sys-seminar.com 1 Questions, Comments Technical Difficulties: Call 1-800-263-6317

More information

Paper ###-YYYY. SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI

Paper ###-YYYY. SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI Paper ###-YYYY SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI ABSTRACT Whether you are a novice or a pro with SAS, Enterprise Guide has something for

More information

Base and Advance SAS

Base and Advance SAS Base and Advance SAS BASE SAS INTRODUCTION An Overview of the SAS System SAS Tasks Output produced by the SAS System SAS Tools (SAS Program - Data step and Proc step) A sample SAS program Exploring SAS

More information

How Managers and Executives Can Leverage SAS Enterprise Guide

How Managers and Executives Can Leverage SAS Enterprise Guide Paper 8820-2016 How Managers and Executives Can Leverage SAS Enterprise Guide ABSTRACT Steven First and Jennifer First-Kluge, Systems Seminar Consultants, Inc. SAS Enterprise Guide is an extremely valuable

More information

SAS CURRICULUM. BASE SAS Introduction

SAS CURRICULUM. BASE SAS Introduction SAS CURRICULUM BASE SAS Introduction Data Warehousing Concepts What is a Data Warehouse? What is a Data Mart? What is the difference between Relational Databases and the Data in Data Warehouse (OLTP versus

More information

Choosing the Right Tool from Your SAS and Microsoft Excel Tool Belt

Choosing the Right Tool from Your SAS and Microsoft Excel Tool Belt Choosing the Right Tool from Your SAS and Microsoft Excel Tool Belt 2997 Yarmouth Greenway Drive, Madison, WI 53711 Phone: (608) 278-9964 Web: www.sys-seminar.com 1 Choosing the Right Tool from Your SAS

More information

USING SAS SOFTWARE TO COMPARE STRINGS OF VOLSERS IN A JCL JOB AND A TSO CLIST

USING SAS SOFTWARE TO COMPARE STRINGS OF VOLSERS IN A JCL JOB AND A TSO CLIST USING SAS SOFTWARE TO COMPARE STRINGS OF VOLSERS IN A JCL JOB AND A TSO CLIST RANDALL M NICHOLS, Mississippi Dept of ITS, Jackson, MS ABSTRACT The TRANSLATE function of SAS can be used to strip out punctuation

More information

Creating and Executing Stored Compiled DATA Step Programs

Creating and Executing Stored Compiled DATA Step Programs 465 CHAPTER 30 Creating and Executing Stored Compiled DATA Step Programs Definition 465 Uses for Stored Compiled DATA Step Programs 465 Restrictions and Requirements 466 How SAS Processes Stored Compiled

More information

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently.

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently. 255 APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software Introduction 255 Generating a QMF Export Procedure 255 Exporting Queries from QMF 257 Importing QMF Queries into Query and Reporting 257 Alternate

More information

David Beam, Systems Seminar Consultants, Inc., Madison, WI

David Beam, Systems Seminar Consultants, Inc., Madison, WI Paper 150-26 INTRODUCTION TO PROC SQL David Beam, Systems Seminar Consultants, Inc., Madison, WI ABSTRACT PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps

More information

SAS Data Integration Studio 3.3. User s Guide

SAS Data Integration Studio 3.3. User s Guide SAS Data Integration Studio 3.3 User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Data Integration Studio 3.3: User s Guide. Cary, NC: SAS Institute

More information

Chapter 2: Getting Data Into SAS

Chapter 2: Getting Data Into SAS Chapter 2: Getting Data Into SAS Data stored in many different forms/formats. Four categories of ways to read in data. 1. Entering data directly through keyboard 2. Creating SAS data sets from raw data

More information

Using Dynamic Data Exchange

Using Dynamic Data Exchange 145 CHAPTER 8 Using Dynamic Data Exchange Overview of Dynamic Data Exchange 145 DDE Syntax within SAS 145 Referencing the DDE External File 146 Determining the DDE Triplet 146 Controlling Another Application

More information

CHAPTER 7 Using Other SAS Software Products

CHAPTER 7 Using Other SAS Software Products 77 CHAPTER 7 Using Other SAS Software Products Introduction 77 Using SAS DATA Step Features in SCL 78 Statements 78 Functions 79 Variables 79 Numeric Variables 79 Character Variables 79 Expressions 80

More information

Chapter 7 File Access. Chapter Table of Contents

Chapter 7 File Access. Chapter Table of Contents Chapter 7 File Access Chapter Table of Contents OVERVIEW...105 REFERRING TO AN EXTERNAL FILE...105 TypesofExternalFiles...106 READING FROM AN EXTERNAL FILE...107 UsingtheINFILEStatement...107 UsingtheINPUTStatement...108

More information

UAccess ANALYTICS. Fundamentals of Reporting. updated v.1.00

UAccess ANALYTICS. Fundamentals of Reporting. updated v.1.00 UAccess ANALYTICS Arizona Board of Regents, 2010 THE UNIVERSITY OF ARIZONA updated 07.01.2010 v.1.00 For information and permission to use our PDF manuals, please contact uitsworkshopteam@listserv.com

More information

DATA Step Debugger APPENDIX 3

DATA Step Debugger APPENDIX 3 1193 APPENDIX 3 DATA Step Debugger Introduction 1194 Definition: What is Debugging? 1194 Definition: The DATA Step Debugger 1194 Basic Usage 1195 How a Debugger Session Works 1195 Using the Windows 1195

More information

Meaning & Concepts of Databases

Meaning & Concepts of Databases 27 th August 2015 Unit 1 Objective Meaning & Concepts of Databases Learning outcome Students will appreciate conceptual development of Databases Section 1: What is a Database & Applications Section 2:

More information

Standardize Your Data Preparation in SAS: Use SQL! May Yarmouth Greenway Drive Madison, WI (608)

Standardize Your Data Preparation in SAS: Use SQL! May Yarmouth Greenway Drive Madison, WI (608) Standardize Your Data Preparation in SAS: Use SQL! May 2009 www.sys-seminar.com 2997 Yarmouth Greenway Drive Madison, WI 53711 (608) 278-9964 1 Welcome to Systems Seminar Consultants, Inc. Systems Seminar

More information

From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX

From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX Paper 152-27 From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX ABSTRACT This paper is a case study of how SAS products were

More information

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI Paper BI09-2012 BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI ABSTRACT Enterprise Guide is not just a fancy program editor! EG offers a whole new window onto

More information

Optimizing System Performance

Optimizing System Performance 243 CHAPTER 19 Optimizing System Performance Definitions 243 Collecting and Interpreting Performance Statistics 244 Using the FULLSTIMER and STIMER System Options 244 Interpreting FULLSTIMER and STIMER

More information

Techdata Solution. SAS Analytics (Clinical/Finance/Banking)

Techdata Solution. SAS Analytics (Clinical/Finance/Banking) +91-9702066624 Techdata Solution Training - Staffing - Consulting Mumbai & Pune SAS Analytics (Clinical/Finance/Banking) What is SAS SAS (pronounced "sass", originally Statistical Analysis System) is an

More information

Audience Analytics Data Submission Guide Current Participants

Audience Analytics Data Submission Guide Current Participants Audience Analytics Data Submission Guide Current Participants This material will guide you through the process of reviewing your current data in emerge and organizing, preparing, and uploading your new

More information

SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Module 2

SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Module 2 SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Department of MathemaGcs and StaGsGcs Phone: 4-3620 Office: Parker 364- A E- mail: carpedm@auburn.edu Web: hup://www.auburn.edu/~carpedm/stat6110

More information

Paper CC16. William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix, AZ

Paper CC16. William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix, AZ Paper CC16 Smoke and Mirrors!!! Come See How the _INFILE_ Automatic Variable and SHAREBUFFERS Infile Option Can Speed Up Your Flat File Text-Processing Throughput Speed William E Benjamin Jr, Owl Computer

More information

Standards for Test Automation

Standards for Test Automation Standards for Test Automation Brian Tervo Windows XP Automation Applications Compatibility Test Lead Microsoft Corporation Overview Over the last five years, I ve had the opportunity to work in a group

More information

Data Strategies for Efficiency and Growth

Data Strategies for Efficiency and Growth Data Strategies for Efficiency and Growth Date Dimension Date key (PK) Date Day of week Calendar month Calendar year Holiday Channel Dimension Channel ID (PK) Channel name Channel description Channel type

More information

An Introduction to PROC SQL. David Beam Systems Seminar Consultants, Inc. - Madison, WI

An Introduction to PROC SQL. David Beam Systems Seminar Consultants, Inc. - Madison, WI An Introduction to PROC SQL David Beam Systems Seminar Consultants, Inc. - Madison, WI Abstract PROC SQL is a powerful Base SAS PROC which combines the functionality of the DATA and PROC Steps into a single

More information

SAS File Management. Improving Performance CHAPTER 37

SAS File Management. Improving Performance CHAPTER 37 519 CHAPTER 37 SAS File Management Improving Performance 519 Moving SAS Files Between Operating Environments 520 Converting SAS Files 520 Repairing Damaged Files 520 Recovering SAS Data Files 521 Recovering

More information

Paper BI SAS Enterprise Guide System Design. Jennifer First-Kluge and Steven First, Systems Seminar Consultants, Inc.

Paper BI SAS Enterprise Guide System Design. Jennifer First-Kluge and Steven First, Systems Seminar Consultants, Inc. ABSTRACT Paper BI-10-2015 SAS Enterprise Guide System Design Jennifer First-Kluge and Steven First, Systems Seminar Consultants, Inc. A good system should embody the following characteristics: It is planned,

More information

Easing into Data Exploration, Reporting, and Analytics Using SAS Enterprise Guide

Easing into Data Exploration, Reporting, and Analytics Using SAS Enterprise Guide Paper 809-2017 Easing into Data Exploration, Reporting, and Analytics Using SAS Enterprise Guide ABSTRACT Marje Fecht, Prowerk Consulting Whether you have been programming in SAS for years, are new to

More information

Demystifying Inherited Programs

Demystifying Inherited Programs Demystifying Inherited Programs Have you ever inherited a program that leaves you scratching your head trying to figure it out? If you have not, chances are that some time in the future you will. While

More information

Introduction to PROC SQL

Introduction to PROC SQL Introduction to PROC SQL Steven First, Systems Seminar Consultants, Madison, WI ABSTRACT PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps into a single step.

More information

Working with Mailings

Working with Mailings 10 Working with Mailings An Overview of the Mail Merge Process... 202 Step 1: Setting Up the Main Document... 204 Step 2: Creating a Data Source... 205 Create a data source... 205 Customize data source

More information

Interactive Systems. NESUG '96 Proceedings ROUND PEGS INTO SQUARE HOLES: DATA WAREHOUSES FOR THE HARDWARE IMPAIRED

Interactive Systems. NESUG '96 Proceedings ROUND PEGS INTO SQUARE HOLES: DATA WAREHOUSES FOR THE HARDWARE IMPAIRED ROUND PEGS INTO SQUARE HOLES: DATA WAREHOUSES FOR THE HARDWARE IMPAIRED Michael Davis Bassett Consulting Services, Inc. Abstract One of the dirty secrets of most data warehouse projects is that they require

More information

SAS Enterprise Guide. Kathleen Nosal Yarmouth Greenway Drive Madison, WI (608)

SAS Enterprise Guide. Kathleen Nosal Yarmouth Greenway Drive Madison, WI (608) SAS Enterprise Guide Kathleen Nosal 2997 Yarmouth Greenway Drive Madison, WI 53711 (608) 278-9964 www.sys-seminar.com 1 Overview What is Enterprise Guide? Top five reasons you want to learn more about

More information

DBLOAD Procedure Reference

DBLOAD Procedure Reference 131 CHAPTER 10 DBLOAD Procedure Reference Introduction 131 Naming Limits in the DBLOAD Procedure 131 Case Sensitivity in the DBLOAD Procedure 132 DBLOAD Procedure 132 133 PROC DBLOAD Statement Options

More information

2007, 2008 FileMaker, Inc. All rights reserved.

2007, 2008 FileMaker, Inc. All rights reserved. Bento User s Guide 2007, 2008 FileMaker, Inc. All rights reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, the file folder logo, Bento and the Bento logo are either

More information

One of the fundamental kinds of websites that SharePoint 2010 allows

One of the fundamental kinds of websites that SharePoint 2010 allows Chapter 1 Getting to Know Your Team Site In This Chapter Requesting a new team site and opening it in the browser Participating in a team site Changing your team site s home page One of the fundamental

More information

Graphics. Chapter Overview CHAPTER 4

Graphics. Chapter Overview CHAPTER 4 47 CHAPTER 4 Graphics Chapter Overview 47 Additional Information 48 Producing a Bar Chart 48 Instructions 48 Adding Titles 50 Running the Graph 50 Printing the Graph 51 Exiting This Task 51 Producing a

More information

SAS Online Training: Course contents: Agenda:

SAS Online Training: Course contents: Agenda: SAS Online Training: Course contents: Agenda: (1) Base SAS (6) Clinical SAS Online Training with Real time Projects (2) Advance SAS (7) Financial SAS Training Real time Projects (3) SQL (8) CV preparation

More information

Arrays Made Easy: An Introduction to Arrays and Array Processing

Arrays Made Easy: An Introduction to Arrays and Array Processing Arrays Made Easy: An Introduction to Arrays and Array Processing 2nd Dimension SALE_ARRAY {r,1} {r,2} {r,3} {r,4} {r,12} 1st Dimension Sales {1,c} SALES1 SALES2 SALES3 SALES4 SALES12 Variables Expense

More information

Memorandum Participants Method

Memorandum Participants Method Memorandum To: Elizabeth Pass, Associate Professor, School of Writing, Rhetoric and Technical Communication From: Andrew Carnes, WRTC 456 Section 1[ADC] Date: February 2, 2016 Re: Project 1 Competitor

More information

The Ins and Outs of %IF

The Ins and Outs of %IF Paper 1135-2017 The Ins and Outs of %IF M. Michelle Buchecker, ThotWave Technologies, LLC. ABSTRACT Have you ever had your macro code not work and you couldn't figure out why? Even something as simple

More information

PROBLEM SOLVING AND OFFICE AUTOMATION. A Program consists of a series of instruction that a computer processes to perform the required operation.

PROBLEM SOLVING AND OFFICE AUTOMATION. A Program consists of a series of instruction that a computer processes to perform the required operation. UNIT III PROBLEM SOLVING AND OFFICE AUTOMATION Planning the Computer Program Purpose Algorithm Flow Charts Pseudo code -Application Software Packages- Introduction to Office Packages (not detailed commands

More information

Summarizing Impossibly Large SAS Data Sets For the Data Warehouse Server Using Horizontal Summarization

Summarizing Impossibly Large SAS Data Sets For the Data Warehouse Server Using Horizontal Summarization Summarizing Impossibly Large SAS Data Sets For the Data Warehouse Server Using Horizontal Summarization Michael A. Raithel, Raithel Consulting Services Abstract Data warehouse applications thrive on pre-summarized

More information

SAS Clinical Data Integration 2.4

SAS Clinical Data Integration 2.4 SAS Clinical Data Integration 2.4 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS Clinical Data Integration 2.4: User's Guide.

More information

PHPM 672/677 Lab #2: Variables & Conditionals Due date: Submit by 11:59pm Monday 2/5 with Assignment 2

PHPM 672/677 Lab #2: Variables & Conditionals Due date: Submit by 11:59pm Monday 2/5 with Assignment 2 PHPM 672/677 Lab #2: Variables & Conditionals Due date: Submit by 11:59pm Monday 2/5 with Assignment 2 Overview Most assignments will have a companion lab to help you learn the task and should cover similar

More information

Dictionary.coumns is your friend while appending or moving data

Dictionary.coumns is your friend while appending or moving data ABSTRACT SESUG Paper CC-41-2017 Dictionary.coumns is your friend while appending or moving data Kiran Venna, Dataspace Inc. Dictionary.columns is a dictionary table, which gives metadata information of

More information

Presented by: Steve First 2997 Yarmouth Greenway Drive, Madison, WI Phone: (608) Web:

Presented by: Steve First 2997 Yarmouth Greenway Drive, Madison, WI Phone: (608) Web: SAS and Sudoku Presented by: Steve First 2997 Yarmouth Greenway Drive, Madison, WI 53711 Phone: (608) 278-9964 Web: www.sys-seminar.com Systems Seminar Consultants, Inc 1 WISUG? Systems Seminar Consultants,

More information

Advanced Macro Topics Steven First, Systems Seminar Consultants, Madison, WI

Advanced Macro Topics Steven First, Systems Seminar Consultants, Madison, WI Paper 19-26 Advanced Macro Topics Steven First, Systems Seminar Consultants, Madison, WI Abstract The SAS macro language continues to be an integral part of the SAS system, and can be a wonderful tool

More information

The FORMS Procedure. Overview CHAPTER 20

The FORMS Procedure. Overview CHAPTER 20 481 CHAPTER 20 The FORMS Procedure Overview 481 Procedure Syntax 483 PROC FORMS Statement 483 BY Statement 487 FREQ Statement 487 LINE Statement 488 Concepts 489 Form Layout 489 Modes of Operation 490

More information

10 The First Steps 4 Chapter 2

10 The First Steps 4 Chapter 2 9 CHAPTER 2 Examples The First Steps 10 Invoking the Query Window 11 Changing Your Profile 11 ing a Table 13 ing Columns 14 Alias Names and Labels 14 Column Format 16 Creating a WHERE Expression 17 Available

More information

Introduction to SAS. Cristina Murray-Krezan Research Assistant Professor of Internal Medicine Biostatistician, CTSC

Introduction to SAS. Cristina Murray-Krezan Research Assistant Professor of Internal Medicine Biostatistician, CTSC Introduction to SAS Cristina Murray-Krezan Research Assistant Professor of Internal Medicine Biostatistician, CTSC cmurray-krezan@salud.unm.edu 20 August 2018 What is SAS? Statistical Analysis System,

More information

Big Data Executive Program

Big Data Executive Program Big Data Executive Program Big Data Executive Program Business Visualization for Big Data (BV) SAS Visual Analytics help people see things that were not obvious to them before. Even when data volumes are

More information

What Is SAS? CHAPTER 1 Essential Concepts of Base SAS Software

What Is SAS? CHAPTER 1 Essential Concepts of Base SAS Software 3 CHAPTER 1 Essential Concepts of Base SAS Software What Is SAS? 3 Overview of Base SAS Software 4 Components of the SAS Language 4 SAS Files 4 SAS Data Sets 5 External Files 5 Database Management System

More information

Staff User Guide PowerSchool Student Information System

Staff User Guide PowerSchool Student Information System PowerSchool Student Information System Document Properties Copyright Owner 2005 Apple Computer, Inc. All rights reserved. This document is the property of Apple Computer, Inc. and is for reference only.

More information

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC Paper 2417-2018 If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC ABSTRACT Reading data effectively in the DATA step requires knowing the implications

More information

ACT! by Sage. Premium for Web 2007 (9.0) User s Guide

ACT! by Sage. Premium for Web 2007 (9.0) User s Guide ACT! by Sage Premium for Web 2007 (9.0) User s Guide ACT! by Sage Premium for Web 2007 (9.0) User s Guide Copyright Notice and Trademark 2006 Sage Software SB, Inc. All Rights Reserved. The Sage Software

More information

SAS. Information Map Studio 3.1: Creating Your First Information Map

SAS. Information Map Studio 3.1: Creating Your First Information Map SAS Information Map Studio 3.1: Creating Your First Information Map The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Information Map Studio 3.1: Creating Your

More information

Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide

Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide SAS447-2017 Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide ABSTRACT Joe Flynn, SAS Institute Inc. Have you ever run SAS code with a DATA step and the results are

More information

ROJECT ANAGEMENT PROGRAM AND COURSE GUIDE

ROJECT ANAGEMENT PROGRAM AND COURSE GUIDE ROJECT ANAGEMENT PROGRAM AND COURSE GUIDE PROJECT MANAGEMENT CERTIFICATE PROGRAM Further your career and gain an understanding of what it takes to lead a project to successful completion functional skills,

More information

CICS insights from IT professionals revealed

CICS insights from IT professionals revealed CICS insights from IT professionals revealed A CICS survey analysis report from: IBM, CICS, and z/os are registered trademarks of International Business Machines Corporation in the United States, other

More information

Table of Contents. #2921 Differentiated Nonfiction Reading 2 Teacher Created Resources, Inc.

Table of Contents. #2921 Differentiated Nonfiction Reading 2 Teacher Created Resources, Inc. Table of Contents Introduction....3 Practice Reading Passage: Geothermal Power........................................... 7 Practice Comprehension Questions....................................................

More information

SAS Web Report Studio 3.1

SAS Web Report Studio 3.1 SAS Web Report Studio 3.1 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Web Report Studio 3.1: User s Guide. Cary, NC: SAS

More information

IP subnetting made easy

IP subnetting made easy Version 1.0 June 28, 2006 By George Ou Introduction IP subnetting is a fundamental subject that's critical for any IP network engineer to understand, yet students have traditionally had a difficult time

More information

Computer Applications Concepts

Computer Applications Concepts Computer Applications Concepts Volume 3 - Integration - Office 2016 Written by Maggie Nix & Beth Mader Edited by Nancy Barnard Copyright 2018 by Hexco Academic. All rights reserved. Reproduction or translation

More information

Unlock SAS Code Automation with the Power of Macros

Unlock SAS Code Automation with the Power of Macros SESUG 2015 ABSTRACT Paper AD-87 Unlock SAS Code Automation with the Power of Macros William Gui Zupko II, Federal Law Enforcement Training Centers SAS code, like any computer programming code, seems to

More information

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS TO SAS NEED FOR SAS WHO USES SAS WHAT IS SAS? OVERVIEW OF BASE SAS SOFTWARE DATA MANAGEMENT FACILITY STRUCTURE OF SAS DATASET SAS PROGRAM PROGRAMMING LANGUAGE ELEMENTS OF THE SAS LANGUAGE RULES FOR SAS

More information

SAS Scalable Performance Data Server 4.3

SAS Scalable Performance Data Server 4.3 Scalability Solution for SAS Dynamic Cluster Tables A SAS White Paper Table of Contents Introduction...1 Cluster Tables... 1 Dynamic Cluster Table Loading Benefits... 2 Commands for Creating and Undoing

More information

Getting Started in CAMS Enterprise

Getting Started in CAMS Enterprise CAMS Enterprise Getting Started in CAMS Enterprise Unit4 Education Solutions, Inc. Published: 18 May 2016 Abstract This document is designed with the new user in mind. It details basic features and functions

More information

How & Why We Subnet Lab Workbook

How & Why We Subnet Lab Workbook i How & Why We Subnet Lab Workbook ii CertificationKits.com How & Why We Subnet Workbook Copyright 2013 CertificationKits LLC All rights reserved. No part of this book maybe be reproduced or transmitted

More information

BTEC Nationals IT - Unit2 FAQs

BTEC Nationals IT - Unit2 FAQs BTEC Nationals IT - Unit2 FAQs Q1 Q2 I need more clarity on what is required in the design task Is it expected that the race officials are entering times as raw times and then the table is set up so it

More information

Building Self-Service BI Solutions with Power Query. Written By: Devin

Building Self-Service BI Solutions with Power Query. Written By: Devin Building Self-Service BI Solutions with Power Query Written By: Devin Knight DKnight@PragmaticWorks.com @Knight_Devin CONTENTS PAGE 3 PAGE 4 PAGE 5 PAGE 6 PAGE 7 PAGE 8 PAGE 9 PAGE 11 PAGE 17 PAGE 20 PAGE

More information

SAS Clinical Data Integration 2.6

SAS Clinical Data Integration 2.6 SAS Clinical Data Integration 2.6 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2015. SAS Clinical Data Integration 2.6: User's Guide.

More information

In this Author s Guide, you will find information about how to submit a proposal, requirements, copyright, compensation, and more.

In this Author s Guide, you will find information about how to submit a proposal, requirements, copyright, compensation, and more. Author s Guide INTRODUCTION Dear Readers and Potential Authors: We are always looking for terrific articles project articles, articles on theory/technique, etc. to showcase. We publish articles written

More information

SAS/ACCESS 9.4 DATA Step Interface to CA-IDMS: Reference

SAS/ACCESS 9.4 DATA Step Interface to CA-IDMS: Reference SAS/ACCESS 94 DATA Step Interface to CA-IDMS: Reference SAS Documentation August 9, 2017 The correct bibliographic citation for this manual is as follows: SAS Institute Inc 2017 SAS/ACCESS 94 DATA Step

More information

So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines

So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines Paper TT13 So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines Anthony Harris, PPD, Wilmington, NC Robby Diseker, PPD, Wilmington, NC ABSTRACT

More information

SAS Data Libraries. Definition CHAPTER 26

SAS Data Libraries. Definition CHAPTER 26 385 CHAPTER 26 SAS Data Libraries Definition 385 Library Engines 387 Library Names 388 Physical Names and Logical Names (Librefs) 388 Assigning Librefs 388 Associating and Clearing Logical Names (Librefs)

More information

Achieve more with 15 Productivity Tips for Office

Achieve more with 15 Productivity Tips for Office Achieve more with 15 Productivity Tips for Office Mission Worldview Strategy Ambitions How do you empower your mobile workforce? Can my employees be productive outside the office? How do we stay productive

More information

SUNY - BUFFALO. 10 Years Going and SUNYBuffalo Still Expanding. Campus-wide Security with Milestone Software. The Challenge.

SUNY - BUFFALO. 10 Years Going and SUNYBuffalo Still Expanding. Campus-wide Security with Milestone Software. The Challenge. Customer Story 10 Years Going and SUNYBuffalo Still Expanding Campus-wide Security with Milestone Software The Challenge After successfully implementing Milestone IP video as a security solution in the

More information

Accessing Data and Creating Data Structures. SAS Global Certification Webinar Series

Accessing Data and Creating Data Structures. SAS Global Certification Webinar Series Accessing Data and Creating Data Structures SAS Global Certification Webinar Series Accessing Data and Creating Data Structures Becky Gray Certification Exam Developer SAS Global Certification Michele

More information

SAS ENTERPRISE GUIDE USER INTERFACE

SAS ENTERPRISE GUIDE USER INTERFACE Paper 294-2008 What s New in the 4.2 releases of SAS Enterprise Guide and the SAS Add-In for Microsoft Office I-kong Fu, Lina Clover, and Anand Chitale, SAS Institute Inc., Cary, NC ABSTRACT SAS Enterprise

More information

New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL

New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL Paper SS-03 New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL ABSTRACT There s SuperCE for comparing text files on the mainframe. Diff

More information

Using the SQL Editor. Overview CHAPTER 11

Using the SQL Editor. Overview CHAPTER 11 205 CHAPTER 11 Using the SQL Editor Overview 205 Opening the SQL Editor Window 206 Entering SQL Statements Directly 206 Entering an SQL Query 206 Entering Non-SELECT SQL Code 207 Creating Template SQL

More information

Microsoft Office 365: Tips to Save You Time and Improve Productivity

Microsoft Office 365: Tips to Save You Time and Improve Productivity Microsoft Office 365: Tips to Save You Time and Improve Productivity Empower every person and every organization on the planet to achieve more As we think about empowering everyone, and helping them achieve

More information

Choosing the Right Procedure

Choosing the Right Procedure 3 CHAPTER 1 Choosing the Right Procedure Functional Categories of Base SAS Procedures 3 Report Writing 3 Statistics 3 Utilities 4 Report-Writing Procedures 4 Statistical Procedures 5 Efficiency Issues

More information

SAS/ASSIST Software Setup

SAS/ASSIST Software Setup 173 APPENDIX 3 SAS/ASSIST Software Setup Appendix Overview 173 Setting Up Graphics Devices 173 Setting Up Remote Connect Configurations 175 Adding a SAS/ASSIST Button to Your Toolbox 176 Setting Up HTML

More information

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada ABSTRACT Performance improvements are the well-publicized enhancement to SAS 9, but what else has changed

More information

Can you decipher the code? If you can, maybe you can break it. Jay Iyengar, Data Systems Consultants LLC, Oak Brook, IL

Can you decipher the code? If you can, maybe you can break it. Jay Iyengar, Data Systems Consultants LLC, Oak Brook, IL Paper 11667-2016 Can you decipher the code? If you can, maybe you can break it. Jay Iyengar, Data Systems Consultants LLC, Oak Brook, IL ABSTRACT You would think that training as a code breaker, similar

More information

DATA Step in SAS Viya : Essential New Features

DATA Step in SAS Viya : Essential New Features Paper SAS118-2017 DATA Step in SAS Viya : Essential New Features Jason Secosky, SAS Institute Inc., Cary, NC ABSTRACT The is the familiar and powerful data processing language in SAS and now SAS Viya.

More information

Chapter 6: Deferred Report Writer

Chapter 6: Deferred Report Writer Chapter 6: Deferred Report Writer CHAPTER 6: DEFERRED REPORT WRITER... 1 DEFERRED REPORT WRITER OVERVIEW... 2 REPORT TITLE (TYPE 01 PARAMETER)... 3 Type 01 Parameter Fields... 3 EXPANDER OPTION (TYPE 02

More information

Creating a Departmental Standard SAS Enterprise Guide Template

Creating a Departmental Standard SAS Enterprise Guide Template Paper 1288-2017 Creating a Departmental Standard SAS Enterprise Guide Template ABSTRACT Amanda Pasch and Chris Koppenhafer, Kaiser Permanente This paper describes an ongoing effort to standardize and simplify

More information

Characteristics of a "Successful" Application.

Characteristics of a Successful Application. Characteristics of a "Successful" Application. Caroline Bahler, Meridian Software, Inc. Abstract An application can be judged "successful" by two different sets of criteria. The first set of criteria belongs

More information

Create your first workbook

Create your first workbook Create your first workbook You've been asked to enter data in Excel, but you've never worked with Excel. Where do you begin? Or perhaps you have worked in Excel a time or two, but you still wonder how

More information

The correct bibliographic citation for this manual is as follows: SAS Institute Inc Proc EXPLODE. Cary, NC: SAS Institute Inc.

The correct bibliographic citation for this manual is as follows: SAS Institute Inc Proc EXPLODE. Cary, NC: SAS Institute Inc. Proc EXPLODE The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. Proc EXPLODE. Cary, NC: SAS Institute Inc. Proc EXPLODE Copyright 2004, SAS Institute Inc., Cary,

More information