Why is a STOP statement needed for the point=option on a
SET statement?
Answers were Sorted based on User's Feedback
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 |
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 |
calculate the sum of value using only DATA STEP. data count_; input year name $ value; cards; 2006 xxx 10 2007 yyy 12 2006 xxx 20 2008 yyy 15 2007 xxx 15 ; out put should be like this year name T_value ----------------------- 2006 xxx 30 2007 xxx 15 2007 yyy 12 2008 xxx 15
Explain the difference between informat and format with an example.
How will you generate test data with no input data?
Enlist the syntax rules followed in sas statements.
Identify statements whose placement in the DATA step is critical?
Which command is used to save logs in the external file?
Baseline definition in your study
3 Answers Accenture, Quintiles,
For what purpose would you use the RETAIN statement?
what is Business Intelligence?
I have a SCD Type 2 Dimention for Location In which A Sales Office in Having two Surrogate Keys just because of the change in it's Sales Group. SKey SalesGroup Sales Office BeginDate EndDate 280 SG1 SO1 01APR2000 01APR2010 281 SG2 SO1 02APR2010 31MAR2999 Now while loading the Fact, the Lookup ir returning SKey 280 for records before and after 01APR2010. I am not able to give WHERE condition in the Lookup Properties (TranDate between BeginDate and EndDate). Please help.
data data1; input dt account; format dt date9.; cards; 1745 1230 1756 1120 1788 1130 1767 1240 ; data data2; input startdt enddt total; format startdt date9. enddt date9.; cards; 1657 1834 12300 1557 1758 16800 1789 1789 12300 1788 1345 12383 1899 1899 13250 ; proc sql; create table data3 as select * from data1 as x left join data2 as y on x.dt>=y.startdt and x.dt<=y.enddt; quit; Here, we are getting cartision product. But,I want left join report consisting of this program. It should not get duplicate values. you can modify the program also.
How would you invoke a macro? : sas-macro