SAS Options - Versatile Players in the Game of SAS

advertisement
SAS Options – Versatile Players in
the Game of SAS
Denise Poll, SAS Institute Inc.
Back in the “Day”
Today ---1500+ SAS System Options
What kinda “stuff” gets customized?
 Appearance of SAS output – PDF* options
 Handling of files – ENGINE=V9
 Performance related – SORTSIZE=
 Security – PDFSECURITY=
 Macro - MACRO
Game Plan
 Basics
 Interfaces
 Tricks of the game
 Acknowledgements and Questions
Basics of Syntax
 Syntactically speaking --Name and Value combination
» Option METAPORT = 8561 ;
/* Numeric
*/
» Option NOFMTERR;
/* Boolean
*/
» Option CMPLIB = sasuser.funcs;
/* Character */
Comparisons - System Options
 System options – Remain in effect for all DATA and
PROC steps unless re-specified
 Specify using:
 Options statement
» Options DATASTMTCHK = ALLKEYWORDS;
 Command line and configuration files
» -DATASTMTCHK ALLKEYWORDS
 Options Window
Comparisons - Data Set
 Data set options – apply to the processing of the SAS
data set with which they appear. Some data set options
are also SAS System options.
 Specify using
 Data new ;
/* Usage of FIRSTOBS overrules any previous setting */
set study ( FIRSTOBS = 5);
Comparisons Statement
 Statement options – control the action of the statement
in which they appear
 Specify using
 Proc Print data=study (FIRSTOBS = 20);
Forest For The Trees
 If there are over 1500+ SAS System options how do I
find the one that I need?
 Documentation is always helpful
 Proc Options LISTGROUPS;
Proc Options;
Logical Groups
Proc Options Group=(SORT PERFORMANCE) ;
Group=SORT
…..
SORTSIZE=0 Size parameter for sort
Group=PERFORMANCE
……
BUFNO=1
Number of buffers for
each SAS data set
DMS Options Window –
RMButton to Find by Name
SAS Enterprise Guide
Tooltip Meaning and Value Completion
SAS System Options Interfaces
 GETOPTION function
 Proc Options
 Command line
 Configuration files –
Verbose and restricted option files
 Options statement
 Options window
 Procs Optsave and Optload
 DMOPTSAVE and DMOPTLOAD
 SQL usage
Getoption Function Keywords
“Good Golly Miss Molly”
 Subset of Return Value Options
 DEFAULTVALUE - returns the default option value
 STARTUPVALUE - returns value from SAS startup
 HOWSET – returns a character string indicating setting interface
 Subset of Return Value Formatting Options
 EXPAND - WIN and UNIX, expand Environment Variables
 KEYWORD - Option Name = Value
 LOGNUMBERFORMAT – Numeric option value with “,”s
Getoption - Default and Startup Values
SAS -YEARCUTOFF 1999
1 Options YEARCUTOFF = 1950;
2 %put Returns Just the Option Value:
%sysfunc(Getoption(YEARCUTOFF)) ;
Returns Just the Option Value: 1950
9 %put Returns Name and Default Value:
%sysfunc(Getoption(YEARCUTOFF, KEYWORD, DEFAULTVALUE)) ;
Returns Name and Default Value:
YEARCUTOFF=1920
1 %put Returns Name and Startup Value:
2 %sysfunc(Getoption(YEARCUTOFF, KEYWORD, STARTUPVALUE)) ;
Returns Name and Startup Value:
YEARCUTOFF=1999
Getoption - Tattle Tail Feature
7 %put Identifies current value setting interface:
8 %sysfunc(Getoption(YEARCUTOFF, HOWSET)) ;
Identifies current value setting interface:
SAS Session Startup Command Line
GETOPTION Function – Programmatic Use!
Sas –orientation portrait
Options Orientation = LANDSCAPE ;
%let setopt = %sysfunc(GETOPTION
(Orientation, KEYWORD, STARTUPVALUE));
Options &setopt; /* Orientation=PORTRAIT */
Getoption Formatting Options
15 %put Option Value: %sysfunc(Getoption(SASAUTOS));
Option Value: ( "!sasroot\.....\auto\en" "!sasroot\....\testauto" )
16 %put Expand Environment Variables in Option Value:
17 %sysfunc(Getoption(SASAUTOS, EXPAND)) ;
Expand Environment Variables in Option Value:
"C:\SASv9\....auto\en"
"C:\SASv9\....testauto"
)
(
18 %put Option Value: %sysfunc(Getoption(OBS));
Option Value: 9223372036854775807
19 %put Return numeric value with commas:
20
%sysfunc(Getoption(OBS, LOGNUMBERFORMAT)) ;
Return numeric value with commas:
9,223,372,036,854,775,807
A True Classic - Proc Options
 OPTION and GROUP
 LOGNUMERFORMAT
 LISTGROUPS - displays options in each group
 DEFINE
 VALUE
 INSERT, APPEND, LISTINSERTANDAPPEND
 EXPAND
 RESTRICT – are restricted
 LISTRESTRICT – can restrict
Proc Options - Display Option Values
 Proc Options Option=(OBS ORIENTATION) >1 specified
LOGNUMBERFORMAT;
OBS=9,223,372,036,854,775,807
Number of the last observation to process
ORIENTATION=PORTRAIT
Orientation to use when printing
Again -- Logical Groups
Proc Options Group=(SORT PERFORMANCE) ;
Group=SORT
…..
SORTSIZE=0 Size parameter for sort
Group=PERFORMANCE
……
BUFNO=1
Number of buffers for
each SAS data set
Option Properties
 Proc Options Option=AUTOEXEC DEFINE ;
Group= ENVFILES
Group Description: SAS library and
file location information
Type: The option value is of type CHARACTER
Maximum Number of Characters: 1024
More Information – Option DEFINE
When Can Set: Environment Startup or
Session Startup only
Casing: The option value is retained
with original casing
Quotes: If present during "set", start and
end quotes are removed
Restricted: Your Site Administrator cannot
restrict modification of this option
Optsave: Proc Optsave or command
Dmoptsave will not save this option
Proc Options Define For A Numeric Option
Proc Options Option=OBS Define ; run;
…
Range of Values: The minimum is 0 and
the maximum is 9223372036854775807
Valid Syntax(any casing):
MIN|MAX|n|nK|nM|nG|nT|hexadecimal
Numeric Format: Usage of
LOGNUMBERFORMAT impacts the
value format <<<Adds commas
Tattle Tail Feature – Value Keyword
The GETOPTION function has the HOWSET keyword
Proc Options uses the “VALUE” keyword to identify
what interfaces set the option value
 Some interfaces are:
» command line, Config file(s), Options statement…..
 Options that can “add to” an option value
» INSERT= and APPEND= Options
Proc Options Simple Usage – Value Keyword
Proc Options option=sasautos VALUE ; run;
Option Value Information For SAS Option SASAUTOS
Value: ( "!sasroot\.... " "!sasroot\....\testauto“ )
How option value set: Config File
Config file name:
C:\SASv9\tmp\SASv9-1068.cfg << Version 9.3
INSERT and APPEND SAS Options
 Some options support adding to the option value using
INSERT and APPEND
Example:
Config File contains:
-Append AUTOEXEC myconfigAUTO.sas
Command line contains:
-Append AUTOEXEC mycmdAUTO.sas
Result:
myconfigAuto.sas mycmdAUTO.sas
Insert and Append Options
Proc Options LISTINSERTAPPEND; run;
Core options: INSERT and APPEND
AUTOEXEC
CMPLIB
FMTSEARCH
MAPS
SASAUTOS
SASHELP
Identifies AUTOEXEC…
Identify previously…
List of catalogs to…
Location of maps for…
Search list for autocall…
Location of the…
Proc Options – Value Keyword
Proc Options Option=AUTOEXEC VALUE;
Value ('!mydir\twoAuto.sas‘ '!mydir\twoAuto.sas‘)
How option value set: Config File
Value Inserted: '!mydir\twoAuto.sas'
Config file name:
U:\config2.cfg
How option value set: Config File
Value Inserted: '!mydir\oneAuto.sas'
Config file name:
C:\MySAS\ConfigDNT.cfg
Expand Environment Variables
Expansion of environment variables in the physical
name
…same support that we saw earlier with the
GETOPTION function
Proc Options Option=SASHELP EXPAND ;
Without Expand: myval = ("!sasroot\sas…
With Expand: myval = ("C:\SASv9\sas….
Restricted Options
 Proc Options LISTRESTRICT; /* CAN restrict */
 Proc Options RESTRICT;
/* IS restricted */
3 Configuration
2 SAS
1 Site
File
Configuration
Command
Restricted
File
Restricted Options Output
Proc Options LISTRESTRICT; run;
Your Site Administrator can restrict
the ability to modify the following Portable Options:
APPLETLOC
...
BUFNO
BUFSIZE
...
CGOPTIMIZE
...
COMAMID
Location of Java applets
Number of buffers for each SAS data set
Size of buffer for page of SAS data set
Control code generation optimization
Specifies the communication access….
Saving and Loading Option Values
 Procedures OptSave and OptLoad
 What options cannot be saved?
 Session startup options
 Password options
Proc Optsave Data=WORK.saveopts;
NOTE: The data set …. has 262 observations and 2 variables.
Proc Optload Data=WORK.saveopts;
Verbose Option – Old Style
sas -verbose
==== Processed Configuration File(s) ====
C:\SASv9\tmp\SASv9-5776.cfg
==== Environment Variable Options ====
<none>
Option
======
MAPS
Value
=====
"!sasroot\sasgen\....en\maps"
SASAUTOS "!sasroot\sas\.....\auto\en"
Verbose Option – New for 9.3
sas -verbose
--------------------------------------------------------------Options specified on the command line:
--------------------------------------------------------------SASHOST = C:\....dll
DMS…..
--------------------------------------------------------------Options specified in the config file C:\SASv9\…
--------------------------------------------------------------SASAUTOS = ( !sasroot\....)
SASHELP= ( !sasroot\....)
Acknowledge and Question
Bravo to my fellow portable and host developers, testers
and writers who collaborate to bring SAS system options to
customers.
Questions?
SAS Options – Versatile Players in the Game of SAS
Download