SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Understanding SAS Data Step
Processing
Ravi Mandal
Reading Raw Data
• Using the following SAS program:
DATA NEW;
INPUT ID $ AGE TEMPC;
TEMPF=TEMPC*(9/5)+32;
DATALINES;
0001 24 37.3
0002 35 38.2
;
run;
proc print;run;
Ravi M., sasindia@outlook.com
Overview of SAS Data Step
Ravi M., sasindia@outlook.com
Compile Phase
(Look at Syntax)
Execution Phase
(Read data, Calculate)
Output Phase
(Create Data Set)
Compile Phase
DATA NEW;
INPUT ID $ AGE TEMPC;
TEMPF=TEMPC*(9/5)+32;
DATALINES;
0001 24 37.3
0002 35 38.2
;
run;
proc print;run;
Ravi M., sasindia@outlook.com
SAS Checks the syntax of
the program.
• Identifies type and
length of each variable
• Does any variable need
conversion?
If everything is okay,
proceed to the next step.
If errors are discovered, SAS
attempts to interpret what
you mean. If SAS can’t
correct the error, it prints an
error message to the log.
Create Input Buffer
• SAS creates an input buffer
• INPUT BUFFER contains data as it is read in
DATALINES;
0001 24 37.3
0002 35 38.2
;
Ravi M., sasindia@outlook.com
1 2 3 4 5 6 7 8 9 10 11 12
0 0 0 1 2 4 3 7 . 3
INPUT BUFFER
Execution Phase
• PROGRAM DATA VECTOR (PDV) is created and
contains information about the variables
• Two automatic variables _N_ and _ERROR_ and a
position for each of the four variables in the DATA
step.
• Sets _N_ = 1 _ERROR_ = 0 (no initial error) and
remaining variables to missing.
Ravi M., sasindia@outlook.com
_N_ _ERROR_ ID AGE TEMPC TEMPF
1 0 . . .
Buffer to PDV
Ravi M., sasindia@outlook.com
1 2 3 4 5 6 7 8 9 10 11 12
0 0 0 1 2 4 3 7 . 3
_N_ _ERROR_ ID AGE TEMPC TEMPF
1 0 0001 24 37.3 .
Calculated
value
Buffer
PDV
_N_ _ERROR_ ID AGE TEMPC TEMPF
1 0 0001 24 37.3 99.14
Processes the code TEMPF=TEMPC*(9/5)+32; Initially
missing
Reads 1st record
If there is an executable statement…
Output Phase
• The values in the PDV are written to the
output data set (NEW) as the first
observation:
Ravi M., sasindia@outlook.com
_N_ _ERROR_ ID AGE TEMPC TEMPF
1 0 0001 24 37.3 99.14
ID AGE TEMPC TEMPF
0001 24 37.3 99.14
This is the first record
in the output data set
named “NEW.”
Note that _N_ and
_ERROR_ are
dropped.
From
PDV
Write data to data set.
Exceptions to Missing in PDV
• Some data values are not initially set to missing in the
PDV
• variables in a RETAIN statement
• variables created in a SUM statement
• data elements in a _TEMPORARY_ array
• variables created with options in the FILE or INFILE
statements
• These exceptions are covered later.
Ravi M., sasindia@outlook.com
_N_ _ERROR_ ID AGE TEMPC TEMPF
1 0 . . .
Initial values usually
set to missing in PDV
Next data record read
• Once SAS finished reading the first data record, it continues the same
process, and reads the second record…sending results to output data
set (named NEW in this case.)
• …and so on for all records.
Ravi M., sasindia@outlook.com
ID AGE TEMPC TEMPF
0001 24 37.3 99.14
0002 35 38.2 100.76
Descriptor Information
• For the data set, SAS creates and maintains a description about each
SAS data set:
• data set attributes
• variable attributes
• the name of the data set
• member type, the date and time that the data set was created, and the
number, names and data types (character or numeric) of the variables.
Ravi M., sasindia@outlook.com
Data Set Description
proc datasets ;
contents data=new;
run;
Contents output… (abbreviated)
Ravi M., sasindia@outlook.com
# Name Member
Type
File Size Last
Modified
1 NEW DATA 5120 20Nov13:0
8:59:32
Alternate program
proc contents data= new;
run;
Description output continued…
Data Set Name WORK.NEW Observations 2
Member Type DATA Variables 4
Engine V9 Indexes 0
Created Wed, Nov 20, 2013
08:59:32 AM
Observation Length 32
Last Modified Wed, Nov 20, 2013
08:59:32 AM
Deleted
Observations
0
Protection Compressed NO
Data Set Type Sorted NO
Label
Data Representation WINDOWS_64
Encoding wlatin1 Western
(Windows)
Ravi M., sasindia@outlook.com
Description output continued…
Alphabetic List of Variables and Attributes
# Variable Type Len
2 AGE Num 8
1 ID Char 8
3 TEMPC Num 8
4 TEMPF Num 8
Ravi M., sasindia@outlook.com
Original Program
DATA NEW;
INPUT ID $ AGE TEMPC;
TEMPF=TEMPC*(9/5)+32;
DATALINES;
0001 24 37.3
0002 35 38.2
;
run;
proc print;run;
Ravi M., sasindia@outlook.com
Original Program
DATA NEW;
INPUT ID $ AGE TEMPC;
TEMPF=TEMPC*(9/5)+32;
DATALINES;
0001 24 37.3
0002 35 38.2
;
run;
proc print;run;
Ravi M., sasindia@outlook.com
Obs ID AGE TEMP
C
TEMP
F
1 0001 24 37.3 99.14
2 0002 35 38.2 100.76
Program output
Example of Error
DATA NEW;
INPUT ID $ AGE TEMPC;
TEMPF=TEMPC*(9/5)+32
DATALINES;
0001 24 37.3
0002 35 38.2
;
run;
proc print;run;
proc datasets ;
contents data=new;
run;
Ravi M., sasindia@outlook.com
Missing Semi-colon
76 DATA NEW;
77 INPUT ID $ AGE TEMPC;
78 TEMPF=TEMPC*(9/5)+32
79 DATALINES;
---------
22
80 0001 24 37.3
----
180
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, -
, /, <, <=, <>, =, >, ><, >=, AND, EQ, GE,
GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, ^=, |, ||, ~=.
ERROR 180-322: Statement is not valid or it is used out of proper order.
81 0002 35 38.2
82 ;
83 run;
ERROR: No DATALINES or INFILE statement.Ravi M., sasindia@outlook.com
Error found during compilation
Summary - Compilation Phase
• During Compilation
• Check syntax
• Identify type and length of each new variable (is a data type conversion
needed?)
• creates input buffer if there is an INPUT statement for an external file
• creates the Program Data Vector (PDV)
• creates descriptor information for data sets and variable attributes
• Other options not discussed here: DROP; KEEP; RENAME; RETAIN; WHERE;
LABEL; LENGTH; FORMAT; ARRAY; BY; ATTRIB; END=, IN=, FIRST, LAST, POINT=
Ravi M., sasindia@outlook.com
Summary – Execution Phase
1. The DATA step iterates once for each observation being
created.
2. Each time the DATA statement executes, _N_ is
incremented by 1.
3. Newly created variables set to missing in the PDV.
4. SAS reads a data record from a raw data file into the input
buffer (there are other possibilities not discussed here).
5. SAS executes any other programming statements for the
current record.
6. At the end of the data statements (RUN;) SAS writes an
observation to the SAS data set (OUTPUT PHASE)
7. SAS returns to the top of the DATA step (Step 3 above)
8. The DATA step terminates when there is no more data.
Ravi M., sasindia@outlook.com
End
Ravi M., sasindia@outlook.com

Weitere ähnliche Inhalte

Was ist angesagt?

Base sas interview questions
Base sas interview questionsBase sas interview questions
Base sas interview questionsDr P Deepak
 
Introduction to SAS
Introduction to SASIntroduction to SAS
Introduction to SASizahn
 
Introduction to sas
Introduction to sasIntroduction to sas
Introduction to sasAjay Ohri
 
Presentation on CDISC- SDTM guidelines.
Presentation on CDISC- SDTM guidelines.Presentation on CDISC- SDTM guidelines.
Presentation on CDISC- SDTM guidelines.Khushbu Shah
 
Base SAS Exam Questions
Base SAS Exam QuestionsBase SAS Exam Questions
Base SAS Exam Questionsguestc45097
 
Cdisc sdtm implementation_process _v1
Cdisc sdtm implementation_process _v1Cdisc sdtm implementation_process _v1
Cdisc sdtm implementation_process _v1ray4hz
 
Introduction to SAS Data Set Options
Introduction to SAS Data Set OptionsIntroduction to SAS Data Set Options
Introduction to SAS Data Set OptionsMark Tabladillo
 
Trial Design Domains
Trial Design DomainsTrial Design Domains
Trial Design DomainsAnkur Sharma
 
SDTM - Adverse Events Vs. Clinical Events
SDTM - Adverse Events Vs. Clinical EventsSDTM - Adverse Events Vs. Clinical Events
SDTM - Adverse Events Vs. Clinical EventsVijayaraghava Karpurapu
 
Base SAS Full Sample Paper
Base SAS Full Sample Paper Base SAS Full Sample Paper
Base SAS Full Sample Paper Jimmy Rana
 
Utility Procedures in SAS
Utility Procedures in SASUtility Procedures in SAS
Utility Procedures in SASguest2160992
 
SAS Macros part 1
SAS Macros part 1SAS Macros part 1
SAS Macros part 1venkatam
 
Study data tabulation model
Study data tabulation modelStudy data tabulation model
Study data tabulation modelrahulrabbit
 

Was ist angesagt? (20)

SAS basics Step by step learning
SAS basics Step by step learningSAS basics Step by step learning
SAS basics Step by step learning
 
Base sas interview questions
Base sas interview questionsBase sas interview questions
Base sas interview questions
 
Introduction to SAS
Introduction to SASIntroduction to SAS
Introduction to SAS
 
SAS BASICS
SAS BASICSSAS BASICS
SAS BASICS
 
Introduction to sas
Introduction to sasIntroduction to sas
Introduction to sas
 
Presentation on CDISC- SDTM guidelines.
Presentation on CDISC- SDTM guidelines.Presentation on CDISC- SDTM guidelines.
Presentation on CDISC- SDTM guidelines.
 
SAS Internal Training
SAS Internal TrainingSAS Internal Training
SAS Internal Training
 
Base SAS Exam Questions
Base SAS Exam QuestionsBase SAS Exam Questions
Base SAS Exam Questions
 
Cdisc sdtm implementation_process _v1
Cdisc sdtm implementation_process _v1Cdisc sdtm implementation_process _v1
Cdisc sdtm implementation_process _v1
 
Introduction to SDTM
Introduction to SDTMIntroduction to SDTM
Introduction to SDTM
 
Basics of SAS
Basics of SASBasics of SAS
Basics of SAS
 
Introduction to SAS Data Set Options
Introduction to SAS Data Set OptionsIntroduction to SAS Data Set Options
Introduction to SAS Data Set Options
 
Trial Design Domains
Trial Design DomainsTrial Design Domains
Trial Design Domains
 
SDTM - Adverse Events Vs. Clinical Events
SDTM - Adverse Events Vs. Clinical EventsSDTM - Adverse Events Vs. Clinical Events
SDTM - Adverse Events Vs. Clinical Events
 
Base SAS Full Sample Paper
Base SAS Full Sample Paper Base SAS Full Sample Paper
Base SAS Full Sample Paper
 
Utility Procedures in SAS
Utility Procedures in SASUtility Procedures in SAS
Utility Procedures in SAS
 
SAS Macros part 1
SAS Macros part 1SAS Macros part 1
SAS Macros part 1
 
CDISC-CDASH
CDISC-CDASHCDISC-CDASH
CDISC-CDASH
 
Sas
SasSas
Sas
 
Study data tabulation model
Study data tabulation modelStudy data tabulation model
Study data tabulation model
 

Ähnlich wie Understanding sas data step processing.

Prog1 chap1 and chap 2
Prog1 chap1 and chap 2Prog1 chap1 and chap 2
Prog1 chap1 and chap 2rowensCap
 
Evolutionary db development
Evolutionary db development Evolutionary db development
Evolutionary db development Open Party
 
Habits of Effective SAS Programmers
Habits of Effective SAS ProgrammersHabits of Effective SAS Programmers
Habits of Effective SAS ProgrammersSunil Gupta
 
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)Serban Tanasa
 
Program logic and design
Program logic and designProgram logic and design
Program logic and designChaffey College
 
[DSC Europe 22] Smart approach in development and deployment process for vari...
[DSC Europe 22] Smart approach in development and deployment process for vari...[DSC Europe 22] Smart approach in development and deployment process for vari...
[DSC Europe 22] Smart approach in development and deployment process for vari...DataScienceConferenc1
 
XII - 2022-23 - IP - RAIPUR (CBSE FINAL EXAM).pdf
XII -  2022-23 - IP - RAIPUR (CBSE FINAL EXAM).pdfXII -  2022-23 - IP - RAIPUR (CBSE FINAL EXAM).pdf
XII - 2022-23 - IP - RAIPUR (CBSE FINAL EXAM).pdfKrishnaJyotish1
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMark Ginnebaugh
 
Data Warehousing with Python
Data Warehousing with PythonData Warehousing with Python
Data Warehousing with PythonMartin Loetzsch
 
BP206 - Let's Give Your LotusScript a Tune-Up
BP206 - Let's Give Your LotusScript a Tune-Up BP206 - Let's Give Your LotusScript a Tune-Up
BP206 - Let's Give Your LotusScript a Tune-Up Craig Schumann
 
Sql Automation 20090610
Sql Automation 20090610Sql Automation 20090610
Sql Automation 20090610livingco
 
Tensorflow User Group Toronto - Ehsan Amjadian - TF Gager
Tensorflow User Group Toronto - Ehsan Amjadian - TF GagerTensorflow User Group Toronto - Ehsan Amjadian - TF Gager
Tensorflow User Group Toronto - Ehsan Amjadian - TF GagerDevatanu Banerjee
 
Bdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATIONBdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATIONHitesh Gulani
 
Cloudera Movies Data Science Project On Big Data
Cloudera Movies Data Science Project On Big DataCloudera Movies Data Science Project On Big Data
Cloudera Movies Data Science Project On Big DataAbhishek M Shivalingaiah
 
Introducción al Software Analítico SAS
Introducción al Software Analítico SASIntroducción al Software Analítico SAS
Introducción al Software Analítico SASJorge Rodríguez M.
 
Containerized Stream Engine to Build Modern Delta Lake
Containerized Stream Engine to Build Modern Delta LakeContainerized Stream Engine to Build Modern Delta Lake
Containerized Stream Engine to Build Modern Delta LakeDatabricks
 

Ähnlich wie Understanding sas data step processing. (20)

Sas
SasSas
Sas
 
Prog1 chap1 and chap 2
Prog1 chap1 and chap 2Prog1 chap1 and chap 2
Prog1 chap1 and chap 2
 
Evolutionary db development
Evolutionary db development Evolutionary db development
Evolutionary db development
 
SAS DATA STEP PROCESS
SAS DATA STEP PROCESSSAS DATA STEP PROCESS
SAS DATA STEP PROCESS
 
Habits of Effective SAS Programmers
Habits of Effective SAS ProgrammersHabits of Effective SAS Programmers
Habits of Effective SAS Programmers
 
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
 
Program logic and design
Program logic and designProgram logic and design
Program logic and design
 
[DSC Europe 22] Smart approach in development and deployment process for vari...
[DSC Europe 22] Smart approach in development and deployment process for vari...[DSC Europe 22] Smart approach in development and deployment process for vari...
[DSC Europe 22] Smart approach in development and deployment process for vari...
 
pm1
pm1pm1
pm1
 
XII - 2022-23 - IP - RAIPUR (CBSE FINAL EXAM).pdf
XII -  2022-23 - IP - RAIPUR (CBSE FINAL EXAM).pdfXII -  2022-23 - IP - RAIPUR (CBSE FINAL EXAM).pdf
XII - 2022-23 - IP - RAIPUR (CBSE FINAL EXAM).pdf
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query Tuning
 
Data Warehousing with Python
Data Warehousing with PythonData Warehousing with Python
Data Warehousing with Python
 
BP206 - Let's Give Your LotusScript a Tune-Up
BP206 - Let's Give Your LotusScript a Tune-Up BP206 - Let's Give Your LotusScript a Tune-Up
BP206 - Let's Give Your LotusScript a Tune-Up
 
Sql Automation 20090610
Sql Automation 20090610Sql Automation 20090610
Sql Automation 20090610
 
Tensorflow User Group Toronto - Ehsan Amjadian - TF Gager
Tensorflow User Group Toronto - Ehsan Amjadian - TF GagerTensorflow User Group Toronto - Ehsan Amjadian - TF Gager
Tensorflow User Group Toronto - Ehsan Amjadian - TF Gager
 
Bdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATIONBdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATION
 
Cloudera Movies Data Science Project On Big Data
Cloudera Movies Data Science Project On Big DataCloudera Movies Data Science Project On Big Data
Cloudera Movies Data Science Project On Big Data
 
Introducción al Software Analítico SAS
Introducción al Software Analítico SASIntroducción al Software Analítico SAS
Introducción al Software Analítico SAS
 
Containerized Stream Engine to Build Modern Delta Lake
Containerized Stream Engine to Build Modern Delta LakeContainerized Stream Engine to Build Modern Delta Lake
Containerized Stream Engine to Build Modern Delta Lake
 
RAMP_FINAL_ppt
RAMP_FINAL_pptRAMP_FINAL_ppt
RAMP_FINAL_ppt
 

Mehr von Ravi Mandal, MBA

Mehr von Ravi Mandal, MBA (7)

Cluster analysis
Cluster analysisCluster analysis
Cluster analysis
 
ITIL Foundation Certificate in IT Service Management
ITIL Foundation Certificate in IT Service ManagementITIL Foundation Certificate in IT Service Management
ITIL Foundation Certificate in IT Service Management
 
Certificate
CertificateCertificate
Certificate
 
Sas array statement
Sas array statementSas array statement
Sas array statement
 
Introduction about analytics with sas+r programming.
Introduction about analytics with sas+r programming.Introduction about analytics with sas+r programming.
Introduction about analytics with sas+r programming.
 
2 unit ie& v
2 unit  ie& v2 unit  ie& v
2 unit ie& v
 
INDIAN ETHOS 1
INDIAN ETHOS 1INDIAN ETHOS 1
INDIAN ETHOS 1
 

Kürzlich hochgeladen

👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...karishmasinghjnh
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsJoseMangaJr1
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...amitlee9823
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...amitlee9823
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...amitlee9823
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...amitlee9823
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...amitlee9823
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...amitlee9823
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteedamy56318795
 

Kürzlich hochgeladen (20)

Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 

Understanding sas data step processing.

  • 1. Understanding SAS Data Step Processing Ravi Mandal
  • 2. Reading Raw Data • Using the following SAS program: DATA NEW; INPUT ID $ AGE TEMPC; TEMPF=TEMPC*(9/5)+32; DATALINES; 0001 24 37.3 0002 35 38.2 ; run; proc print;run; Ravi M., sasindia@outlook.com
  • 3. Overview of SAS Data Step Ravi M., sasindia@outlook.com Compile Phase (Look at Syntax) Execution Phase (Read data, Calculate) Output Phase (Create Data Set)
  • 4. Compile Phase DATA NEW; INPUT ID $ AGE TEMPC; TEMPF=TEMPC*(9/5)+32; DATALINES; 0001 24 37.3 0002 35 38.2 ; run; proc print;run; Ravi M., sasindia@outlook.com SAS Checks the syntax of the program. • Identifies type and length of each variable • Does any variable need conversion? If everything is okay, proceed to the next step. If errors are discovered, SAS attempts to interpret what you mean. If SAS can’t correct the error, it prints an error message to the log.
  • 5. Create Input Buffer • SAS creates an input buffer • INPUT BUFFER contains data as it is read in DATALINES; 0001 24 37.3 0002 35 38.2 ; Ravi M., sasindia@outlook.com 1 2 3 4 5 6 7 8 9 10 11 12 0 0 0 1 2 4 3 7 . 3 INPUT BUFFER
  • 6. Execution Phase • PROGRAM DATA VECTOR (PDV) is created and contains information about the variables • Two automatic variables _N_ and _ERROR_ and a position for each of the four variables in the DATA step. • Sets _N_ = 1 _ERROR_ = 0 (no initial error) and remaining variables to missing. Ravi M., sasindia@outlook.com _N_ _ERROR_ ID AGE TEMPC TEMPF 1 0 . . .
  • 7. Buffer to PDV Ravi M., sasindia@outlook.com 1 2 3 4 5 6 7 8 9 10 11 12 0 0 0 1 2 4 3 7 . 3 _N_ _ERROR_ ID AGE TEMPC TEMPF 1 0 0001 24 37.3 . Calculated value Buffer PDV _N_ _ERROR_ ID AGE TEMPC TEMPF 1 0 0001 24 37.3 99.14 Processes the code TEMPF=TEMPC*(9/5)+32; Initially missing Reads 1st record If there is an executable statement…
  • 8. Output Phase • The values in the PDV are written to the output data set (NEW) as the first observation: Ravi M., sasindia@outlook.com _N_ _ERROR_ ID AGE TEMPC TEMPF 1 0 0001 24 37.3 99.14 ID AGE TEMPC TEMPF 0001 24 37.3 99.14 This is the first record in the output data set named “NEW.” Note that _N_ and _ERROR_ are dropped. From PDV Write data to data set.
  • 9. Exceptions to Missing in PDV • Some data values are not initially set to missing in the PDV • variables in a RETAIN statement • variables created in a SUM statement • data elements in a _TEMPORARY_ array • variables created with options in the FILE or INFILE statements • These exceptions are covered later. Ravi M., sasindia@outlook.com _N_ _ERROR_ ID AGE TEMPC TEMPF 1 0 . . . Initial values usually set to missing in PDV
  • 10. Next data record read • Once SAS finished reading the first data record, it continues the same process, and reads the second record…sending results to output data set (named NEW in this case.) • …and so on for all records. Ravi M., sasindia@outlook.com ID AGE TEMPC TEMPF 0001 24 37.3 99.14 0002 35 38.2 100.76
  • 11. Descriptor Information • For the data set, SAS creates and maintains a description about each SAS data set: • data set attributes • variable attributes • the name of the data set • member type, the date and time that the data set was created, and the number, names and data types (character or numeric) of the variables. Ravi M., sasindia@outlook.com
  • 12. Data Set Description proc datasets ; contents data=new; run; Contents output… (abbreviated) Ravi M., sasindia@outlook.com # Name Member Type File Size Last Modified 1 NEW DATA 5120 20Nov13:0 8:59:32 Alternate program proc contents data= new; run;
  • 13. Description output continued… Data Set Name WORK.NEW Observations 2 Member Type DATA Variables 4 Engine V9 Indexes 0 Created Wed, Nov 20, 2013 08:59:32 AM Observation Length 32 Last Modified Wed, Nov 20, 2013 08:59:32 AM Deleted Observations 0 Protection Compressed NO Data Set Type Sorted NO Label Data Representation WINDOWS_64 Encoding wlatin1 Western (Windows) Ravi M., sasindia@outlook.com
  • 14. Description output continued… Alphabetic List of Variables and Attributes # Variable Type Len 2 AGE Num 8 1 ID Char 8 3 TEMPC Num 8 4 TEMPF Num 8 Ravi M., sasindia@outlook.com
  • 15. Original Program DATA NEW; INPUT ID $ AGE TEMPC; TEMPF=TEMPC*(9/5)+32; DATALINES; 0001 24 37.3 0002 35 38.2 ; run; proc print;run; Ravi M., sasindia@outlook.com
  • 16. Original Program DATA NEW; INPUT ID $ AGE TEMPC; TEMPF=TEMPC*(9/5)+32; DATALINES; 0001 24 37.3 0002 35 38.2 ; run; proc print;run; Ravi M., sasindia@outlook.com Obs ID AGE TEMP C TEMP F 1 0001 24 37.3 99.14 2 0002 35 38.2 100.76 Program output
  • 17. Example of Error DATA NEW; INPUT ID $ AGE TEMPC; TEMPF=TEMPC*(9/5)+32 DATALINES; 0001 24 37.3 0002 35 38.2 ; run; proc print;run; proc datasets ; contents data=new; run; Ravi M., sasindia@outlook.com Missing Semi-colon
  • 18. 76 DATA NEW; 77 INPUT ID $ AGE TEMPC; 78 TEMPF=TEMPC*(9/5)+32 79 DATALINES; --------- 22 80 0001 24 37.3 ---- 180 ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, - , /, <, <=, <>, =, >, ><, >=, AND, EQ, GE, GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, ^=, |, ||, ~=. ERROR 180-322: Statement is not valid or it is used out of proper order. 81 0002 35 38.2 82 ; 83 run; ERROR: No DATALINES or INFILE statement.Ravi M., sasindia@outlook.com Error found during compilation
  • 19. Summary - Compilation Phase • During Compilation • Check syntax • Identify type and length of each new variable (is a data type conversion needed?) • creates input buffer if there is an INPUT statement for an external file • creates the Program Data Vector (PDV) • creates descriptor information for data sets and variable attributes • Other options not discussed here: DROP; KEEP; RENAME; RETAIN; WHERE; LABEL; LENGTH; FORMAT; ARRAY; BY; ATTRIB; END=, IN=, FIRST, LAST, POINT= Ravi M., sasindia@outlook.com
  • 20. Summary – Execution Phase 1. The DATA step iterates once for each observation being created. 2. Each time the DATA statement executes, _N_ is incremented by 1. 3. Newly created variables set to missing in the PDV. 4. SAS reads a data record from a raw data file into the input buffer (there are other possibilities not discussed here). 5. SAS executes any other programming statements for the current record. 6. At the end of the data statements (RUN;) SAS writes an observation to the SAS data set (OUTPUT PHASE) 7. SAS returns to the top of the DATA step (Step 3 above) 8. The DATA step terminates when there is no more data. Ravi M., sasindia@outlook.com