What is the purpose of the trailing and How would you use them?
Answers were Sorted based on User's Feedback
Answer / sandhya
The trailing @ or more technically, line hold specifiers
are used to hold the pointer in the same record for
multiple iterations. The two tyoes of line hold specifiers
are single trailing(@) and double trailing(@@).
The single trailing hold the record until it encounters
either another input statement or end of the datastep.
They are used for the records such as
001F38 H
002 F 40 G
To read these values to the datastep
Data example;
input @10 type $ @;
if type='H' then
input @1 id 3. @4 gender $1. @5 age2.;
else if type='G' then
input @1 id3. @5 gender $1. @7 age 2.;
end;
cards;
001F38 H
002 F 40 G
;
run;
The double trailing holds the until the end of the record.
Data example2;
input id age @@;
cards;
001 23 002 43 003 65 004 32 005 54
;
run;
| Is This Answer Correct ? | 19 Yes | 0 No |
Answer / kishore kumar
Trailing @ is used to hold the record in input buffer to
execute another input statement on the same datalines.
Trailing @@ is used to hold the record in input buffer to
execute same input statement on same datalines intil eof
record
| Is This Answer Correct ? | 10 Yes | 0 No |
Answer / dupe bassey
If a variable doesnt have a single trailing @ with an input
statement, when sas encounters another input statement
after the first one,it would load a new record, this action
will result in some obeservations not been outputed and
missing data. To avoid this, a single trailing @ is used to
hold the record , so that when it encounters another input
statements within the datastep a new record is not loaded,
It bassically tells sas to use the data just placed in the
input buffer for the next input statement .
the single trailing @ is release when an input statement
without a trailing @ is encountered.
`input zz$ status @@' tells SAS to read two words at a
time from the input buffer to the pdv without discarding
the rest of the line.Without the trailing @@, SAS would
read the first two words from input buffer and ignore the
rest of the line. This would result in reading less records
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / guest
to reand next input statements at which same iteratioins of
a data step.
@n is column pointer control.
| Is This Answer Correct ? | 4 Yes | 1 No |
Answer / amarender
If the data is continuosly in data set SAS would read the
first words only from each line in the `datalines' block and
it will ignore the rest of the line. if we use Trailing
@@'it will read completly.and another type of trailing is
using single @ this is a line hold specifier.
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / ganesh naidu
@ is the column pointer, to instruct sas to go particular
line of raw data and it hold the line of raw data
When we have mulitiple lines of raw data per observation to
read , then use '@@' it hold line of raw data more
strongly.
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / radhiv kumar sure
WE CAN USE @ IN TWO CASES
1.HOLDING THE RECORD. FOR EXAMPLE IF THE DATA IS
HIERARCHIAL FILE.
2.FOR POINTER CONTROLLING. FROM WHICH POSITION VARIABLE AS
TO READ
@N LINE HOLD SPECIFIER
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / chiranjeevi.p
Trailing is a column pointer.These are those which works on
the variable level by default.it should appear with in
datastep and besides the variables in sas.these are two
types.there are
1)@
2)@@
@:It reads only the first line across the avaliable
variables data.
@@:The '@@' get the data entire data from the external
source by reading in to a single variable.
| Is This Answer Correct ? | 1 Yes | 5 No |
What is the basic structure of a sas program?
Mention the difference between ceil and floor functions in sas?
which date function advances a date, time or datetime value by a given interval? : Sas programming
The below code we are using for creating more than one macro variables in proc sql using into clause. How we can use same code to create macro variables vara, varb, varc instead of var1, var2, var3.? proc sql noprint; select count(distinct(patient)) into :var1 - :var3 from dataset1 group by trtreg1c ; quit;
What is highest missing value for numeric?
do you prefer proc report or proc tabulate? Why? : Sas programming
how to read character value without using substr function in sas ?
Hi, I have one dataset like id date ex: id date 1 13 1 13Oct2011 2 14 2 14Oct2011 3 15 3 15Oct2011 --->this is the current date here i want date format like 13Oct2011,14Oct2011 how we can modify the numeric to date format plz answer.
What do you feel about hardcoding?
How to import multiple xls files into sas. Out of those files, how to get different values from a single variable and how to find number of rows per value type? We can do this using group by for one xls file with proc sql. Was wondering how I can achieve this for multiple files at the same time. Any ideas?
Give some ways by which you can define the variables to produce the summary report (using proc report)?
What is _n_?