Functions and CALL Routines |
Returns the data type of a SAS data set variable.
VARTYPE(data-set-id,var-num)
|
-
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.
Tip: |
This number is next to the
variable in the list that is produced by the CONTENTS procedure. |
Tip: |
The VARNUM function returns
this number. |
VARTYPE returns C for a character variable
or N for a numeric variable.
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));
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;
Copyright © 2011 by SAS Institute Inc., Cary, NC, USA. All rights reserved.