Chapter 8 Managing Processing Using PROC SQL Imelda Go, John Grego, Jennifer Lasecki, 2011 1 PROC SQL OPTIONS INOBS= – – Used to restrict the number of input rows Useful for possibly large queries (e.g., outer unions) proc sql inobs=5; select * from Ecoli outer union corr select * from Fcoli outer union corr select * from Entero; quit; Imelda Go, John Grego, Jennifer Lasecki, 2011 2 PROC SQL OPTIONS OUTOBS= – – Used to restrict the number of output rows OUTOBS= by itself restores the default (all rows output) Imelda Go, John Grego, Jennifer Lasecki, 2011 3 Example: OUTOBS proc sql outobs=5; select player, atbats from bbstats; quit; player atbats Christian Walker 271 Scott Wingo 240 Brady Thomas 231 Evan Marzilli 220 Robert Beary 211 Imelda Go, John Grego, Jennifer Lasecki, 2011 4 PROC SQL OPTIONS DOUBLE/NODOUBLE – – specifies whether output is double spaced this option does not affect the appearance of HTML output proc sql outobs=5 double; select player, atbats from bbstats; quit; Imelda Go, John Grego, Jennifer Lasecki, 2011 5 PROC SQL OPTIONS NUMBER/NONUMBER – – – Adds or removes row numbers from a table The column is labeled: Row Similar to OBS/NOOBS in PROC PRINT proc sql outobs=5 double number; select player, atbats from bbstats; quit; Imelda Go, John Grego, Jennifer Lasecki, 2011 6 PROC SQL OPTIONS FLOW | NOFLOW FLOW=n | FLOW=n m – – – – Controls appearance of wide character columns in listing output n sets the width of the flowed column Specifying n and m floats the width of the column between limits does not affect the appearance of HTML, PDF, or RTF output Imelda Go, John Grego, Jennifer Lasecki, 2011 7 PROC SQL OPTIONS Example of FLOW proc sql flow = 10 15 double; select winner.wscore label="Matching Score", winner.date format=worddate18. label="Date", winner.wteam label="Team with Winning Score", loser.date format=worddate18. label="Date", loser.lteam label="Team with Losing Score" from secscores as winner, secscores as loser where winner.wscore=loser.lscore; quit; Imelda Go, John Grego, Jennifer Lasecki, 2011 8 PROC SQL OPTIONS RESET can be used to change OUTOBS=, NUMBER, NODOUBLE, NOFLOW, etc It can be inserted between SELECT clauses to restore options Imelda Go, John Grego, Jennifer Lasecki, 2011 9 PROC SQL OPTIONS Example of RESET proc sql outobs=6 double; select player, atbats from bbstats; reset outobs= number nodouble; select player, hits from bbstats; quit; Imelda Go, John Grego, Jennifer Lasecki, 2011 10 Timing Information When learning about indexes in Chapter 6, we used the default timing information available in the SAS Log Timing info can be disaggregated by task using the STIMER option Additional task info can be obtained using FULLSTIMER Both methods are useful for benchmarking Imelda Go, John Grego, Jennifer Lasecki, 2011 11 Timing Information If CPU Time is close to Real Time, than the system is operating efficiently In addition to Real Time and CPU Time, FULLSTIMER provides data on - Memory - Involuntary CPU time-slice releases - Page swaps Imelda Go, John Grego, Jennifer Lasecki, 2011 12 Dictionaries DICTIONARY.TABLES contains meta data about tables and views DICTIONARY.COLUMNS contains meta data about columns in tables Can be compared to PROC CONTENTS Imelda Go, John Grego, Jennifer Lasecki, 2011 13 Dictionaries To find what variables are available, use DESCRIBE TABLE A specific query proc sql; select memname, memtype, nobs, nvar, num_character, num_numeric, filesize, crdate from dictionary.tables where libname='WORK'; quit; Imelda Go, John Grego, Jennifer Lasecki, 2011 14
© Copyright 2024 Paperzz