If reading a variable length file with fixed input, how
would you prevent SAS from reading the next record if the
last variable didn’t have a value?
Answers were Sorted based on User's Feedback
Answer / kumaraswamy maduri
Using MISSOVER or TRUNCOVER. TRUNCOVER is best because if
the last variable doesn't have value then it assigns
missing as just as missover one extra difference with
TRUNCOVER is, if you are using formatted input and the
width is more than the value still truncover reads the
available value but missover assigns a missing.
Eg: data t;
input num 3.;
cards;
1
12
121
;
run;
Check the above code using missover and truncover.
| Is This Answer Correct ? | 8 Yes | 1 No |
Answer / nitin
By using stopover, missover is used to read next record
without stopping.
| Is This Answer Correct ? | 6 Yes | 2 No |
What are the scrubbing procedures in sas?
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.
i have a dataset with var1,var2,var3; i want to upload the titles for the variables . How can we?
/* This is example of age caluculate wihtout to display perfect days and years in output window */ data age; retain dob "12jun2003"d now "24may2011"d; age1=now-dob; age=(now-dob)/365.25; years=int(age); days1=round((age-years)*365.25); months=month(now)-1; if days1 gt 30 and months in(12,10,8,6,4,2)then do; month1=days1/30.4375; month=int(days1/30.4375); if day(now)=1 then days=1; else days=round((month1-month)*30.4375)+1; drop days1 month1 month; end; else if days1 gt 30 and months in (1,3,5,7,9,11)then do; month1=days1/30.4375; month=int(days1/30.4375); if day(now)=1 then days=1; else days=round((month1-month) *30.4375); drop days1 month1 month; end; drop age age1; proc print data=age; format dob now date.; run;
what is SAS/Access and SAS/Connect?what are the uses?
what is fact table and factless table?
WHAT DOES A SAS SPECIFICATION DOCUMENT SDS CONTAIN ?
what techniques and/or procs do you use for tables? : Sas programming
What are the limitations for memory allocation for SAS variables
Name and describe three SAS functions that you have used, if any?
Explain the main difference between the sas procedures and functions? : Sas-administrator
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.