VARTYPE Function
Returns the data type of a SAS data set variable.
Syntax
Required Arguments
data-set-id
specifies the data
set identifier that the OPEN function returns.
var-num
specifies the number
of the variable's position in the SAS data set.
Tips |
This number is next to the variable in the list that is
produced by the CONTENTS procedure.
|
The VARNUM function returns this number. |
Details
VARTYPE returns C for
a character variable or N for a numeric variable.
Examples
Example 1: Using VARTYPE to Determine Which Variables Are Numeric
This example places
the names of all the numeric variables of the SAS data set MYDATA
into a macro variable.
%let dsid=%sysfunc(open(mydata,i));
%let varlist=;
%do i=1 %to %sysfunc(attrn(&dsid,nvars));
%if (%sysfunc(vartype(&dsid,&i)) = N) %then
%let varlist=&varlist %sysfunc(varname
(&dsid,&i));
%end;
%let rc=%sysfunc(close(&dsid));
Example 2: Using VARTYPE to Determine Which Variables Are Character
This example creates
a data set that contains the name and formatted contents of each character
variable in the SAS data set MYDATA.
data vars;
length name $ 8 content $ 20;
drop dsid i num fmt rc;
dsid=open("mydata","i");
num=attrn(dsid,"nvars");
do while (fetch(dsid)=0);
do i=1 to num;
name=varname(dsid,i);
fmt=varfmt(dsid,i);
if (vartype(dsid,i)='C') then do;
content=getvarc(dsid,i);
if (fmt ne '' ) then
content=left(putc(content,fmt));
output;
end;
end;
end;
rc=close(dsid);
run;