1 / 31

Introduction to Data Set Options

Introduction to Data Set Options. Mark Tabladillo, Ph.D. Software Developer, MarkTab Consulting Associate Faculty, University of Phoenix January 30, 2007. Introduction. Data set options allow features during dataset processing

Télécharger la présentation

Introduction to Data Set Options

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Data Set Options Mark Tabladillo, Ph.D. Software Developer, MarkTab Consulting Associate Faculty, University of Phoenix January 30, 2007

  2. Introduction • Data set options allow features during dataset processing • Most SAS data set options can apply to either input or output SAS data sets in DATA steps or procedure (PROC) steps • Data set options allow the data step to control variables, observations, security, and data set attributes

  3. Outline • Define data set options • Provide examples in four categories • Discuss data set processing rules

  4. Outline • Define data set options • Provide examples in four categories • Discuss data set processing rules

  5. Definition • Data set options specify actions that apply only to the SAS data set with which they appear. http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a002612367.htm

  6. Syntax • Specify a data set option in parentheses after a SAS data set name. To specify several data set options, separate them with spaces. (option-1=value-1<...option-n=value-n>) http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a002612367.htm

  7. Outline • Define data set options • Provide examples in four categories • Discuss data set processing rules

  8. Quick Examples • Data set options enable us to perform operations such as these: • Renaming variables • Selecting only the first or last n observations for processing • Dropping variables from processing or from the output data set • Specifying a password for a data set • Adding dataset labels http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a002612367.htm

  9. Common Option Categories • Variable Control • Observation Control • Security • Data Set Attributes

  10. Examples Dataset data work.sales (drop=i randomState); length state $2 sales 8 randomState 3; do i = 1 to 2500; randomState = round(rand('gaussian',3,1)+0.5); if randomState in (1,2,3,4,5) then do; select(randomState); when(1) state='TN'; when(2) state='AL'; when(3) state='GA'; when(4) state='FL'; when(5) state='MS'; end; sales = int(rand('gaussian',1000000,500000)); output work.sales; end; end; run;

  11. List of Common Options http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000104210.htm

  12. Examples: Variable Control data work.salesReformat; set work.sales (drop=sales); run; data work.salesReformat2; set work.sales (keep=state); run; procsort data=work.sales (rename=(state=salesState)) out=work.salesReformat3 (drop=sales); by salesState; run; - negative + positive

  13. List of Common Options http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000104210.htm

  14. Examples: Observation Control * (obs - firstobs) + 1 = results; data work.selectObs1; set work.sales (firstobs=1 obs=200); run; data work.selectObs2; set work.sales (firstobs=200 obs=400); run; procprint data=work.sales (obs=25); run; procfreq data=work.sales (firstobs=1); tables state; run; procmeans data=work.sales (obs=max); class state; var sales; run;

  15. Examples: Observation Control data work.combineObs1; set work.selectObs1 (in=in1) work.selectObs2 (in=in2); length source $12; if in1 then source = 'Dataset One'; else if in2 then source = 'Dataset Two'; run; data work.combineObs2; set work.selectObs1 (in=in1) work.selectObs2 (in=in2); if in1 and in2 then output; run;

  16. List of Common Options http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000104210.htm

  17. Examples: Security data work.secure1 (alter=NoErrors); set work.sales; run; data work.secure2; set work.sales (alter=NoErrors); run; * Note: A SAS password does not control access to a SAS file beyond the SAS system. You should use the operating system-supplied utilities and file-system security controls in order to control access to SAS files outside of SAS.; data work.secure3 (encrypt=yes pw=Scramble); set work.sales; run; procsort data=work.secure3 (pw=scramble) out=work.secure4; by state sales; run;

  18. List of Common Options http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000104210.htm

  19. Examples: Data Set Attributes data work.compress1 (compress=yes label="Attempt at Compression"); set work.sales; run; data work.masterSalesDataset (genmax=3); set work.sales; run; data work.masterSalesDataset; set work.masterSalesDataset work.selectObs1; run; data work.masterSalesDataset; set work.sales work.selectObs1; run;

  20. Outline • Define data set options • Provide examples in four categories • Discuss data set processing rules

  21. Input and Output Datasets • If a data set option is associated with an input data set, the action applies to the data set that is being read. • If the option appears in the DATA statement or after an output data set specification in a PROC step, SAS applies the action to the output data set. http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a002612367.htm

  22. Input and Output Datasets data _null_; run; data; run; data _null_; set _null_; if _n_ ge 0 then put 'hello'; run; data _null_; if _n_ ge 0 then put 'hello'; set _null_; run;

  23. Order of Execution • When data set options appear on both input and output data sets in the same DATA or PROC step, SAS applies data set options to input data sets before it evaluates programming statements or before it applies data set options to output data sets. • Likewise, data set options that are specified for the data set being created are applied after programming statements are processed. http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a002612367.htm

  24. Order of Execution data work.salesReformat4 (rename=(sales=monthlySales)); set work.sales; sales = sales/12; run; data work.salesReformat5; set work.sales (rename=(sales=monthlySales)); monthlySales = monthlySales/12; run;

  25. Specification Conflicts • In some instances, data set options conflict when they are used in the same statement. For example, you cannot specify both the DROP= and KEEP= options for the same variable in the same statement. http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a002612367.htm

  26. Statement Definition • A SAS statement is a series of items that may include keywords, SAS names, special characters, and operators. • All SAS statements end with a semicolon. • A SAS statement either requests SAS to perform an operation or gives information to the system. http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a002612375.htm

  27. Timing Conflicts • Timing can also be an issue in some cases. For example, if using KEEP= and RENAME= on a data set specified in the SET statement, KEEP= needs to use the original variable names, because SAS will process KEEP= before the data set is read. The new names specified in RENAME= will apply to the programming statements that follow the SET statement. http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a002612367.htm

  28. Timing Conflicts procsort data=work.sales (keep=sales state rename=(sales=monthlySales)) out=work.salesReformat6; by state monthlySales; run; procsort data=work.sales (rename=(sales=monthlySales) keep=sales state) out=work.salesReformat7; by state monthlySales; run;

  29. Overriding System Options • Many system options and data set options share the same name and have the same function. • The data set option overrides the system option for the data set in the step in which it appears. • System options remain in effect for all DATA and PROC steps in a SAS job or session, unless they are respecified. http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a002612367.htm

  30. Conclusion • DATA set options allow features during data step processing • The SAS System Documentation provides specific details on the syntax

  31. Contact Information • Mark TabladilloMarkTab Consultinghttp://www.marktab.com/

More Related