Why is a STOP statement needed for the point=option on a
SET statement?

Answers were Sorted based on User's Feedback



Why is a STOP statement needed for the point=option on a SET statement?..

Answer / latha sunkara

When you use the POINT= option, you must include a STOP
statement to stop DATA step processing, programming logic
that checks for an invalid value of the POINT= variable, or
both. Because POINT= reads only those observations that are
specified in the DO statement, SAS cannot read an end-of-
file indicator as it would if the file were being read
sequentially. Because reading an end-of-file indicator ends
a DATA step automatically, failure to substitute another
means of ending the DATA step when you use POINT= can cause
the DATA step to go into a continuous loop.

Is This Answer Correct ?    8 Yes 0 No

Why is a STOP statement needed for the point=option on a SET statement?..

Answer / dupe

just to add to the previous answer, if the stop statement
is executed, SAS cannot proceed to the bottom of the
datastep, where a run statement is encountered which forces
an explisit output of observation. To overcome this, you
will need to include the output statement before the stop
statement.

Is This Answer Correct ?    3 Yes 2 No

Post New Answer

More SAS Interview Questions

What is LOGICAL VARIABLES in SAS.And how it can be used..Can anyone support..???

3 Answers  


Hello, I have PROC SQLs results group by 3 fields and I use SUM and COUNT functions in SQL. The problem is when I try to display my result with PROC TABULATE. I am getting very big numbers. I believe I make a mistake some where in Tabulate. Here is my Proc Tabulate. PROC TABULATE DATA=OUT04_05 FORMAT=12.; CLASS YR CENTRE VISA / PRELOADFMT EXCLUSIVE; VAR NEWUSER FRAUD TRANSFER AUTUSER REISSUE; TABLE CENTRE ALL, (YR ALL)*VISA, (NEWUSER*F=COMMA12. AUTUSER*F=COMMA12. FRAUD*F=COMMA12. TRANSFER*F=COMMA12. REISSUE*F=COMMA12.) / MISSTEXT={LABEL='0'} PRINTMISS RTS=20; FORMAT VISA VISAFMT.; KEYLABEL SUM = ' ' ALL = 'TOTAL'; LABEL YR = 'DATE YEAR' NEWUSER = 'TOTAL NEW ACCT' TRANSFER = 'TOTAL TRANSFER' FRAUD = 'TOTAL FRAUD TRANSFER' AUTUSER = 'TOTAL AUTH USERS' REISSUE = 'TOTAL REISSUE'; When I code it like : NEWUSER*N*F=COMMA12. AUTUSER*N*F=COMMA12. I get same amount numbers but to find a NEWUSER I use COUNT(*) and to find AUTUSER I use SUM(xxxx) function so both result shouldn’t be the same my problem is in this point. Could you tell me where the problem in code is. How can I display my result? TX.

0 Answers  


how would you determine the number of missing or nonmissing values in computations? : Sas programming

0 Answers  


how would you create a data set with 1 observation and 30 variables from a data set with 30 observations and 1 variable? : Sas programming

0 Answers  


WHAT IS DEBUGGING? HOW TO TEST THE DEBUGGING IN SAS?

3 Answers   Accenture,






what is sas enterprise intelligence architecture? : Sas-bi

0 Answers  


Where do you use proc means over proc freq?

0 Answers  


Hi Friends, My name is Priya,am new to this Forum. am looking for SAS Platform Administration Interview Questions.I searched every where but I couldn't find any where.please can anyone help me with the FAQ's. It would be a great favor to me if you can email the Interview Questions to priyafeb84@gmail.com

0 Answers  


How do you debug macros?

3 Answers   Accenture,


Describe a time when you were really stuck on a problem and how you solved it?

0 Answers   Oracle,


What is the difference between a PROC step and a DATA step?

14 Answers   Accenture, HSBC,


What is the one statement to set the criteria of data that can be coded in any step?

4 Answers   Accenture,


Categories