Desktop productivity for business analysts and programmers

knowing SAS variables length

Reply
Contributor
Posts: 55

knowing SAS variables length

please help...

i have 100k obs datasets with 8 variables (reading from raw data file) and wants to know real length before it arrives into SAS (real length of raw data) How can i do that using sas code? I am not sure if PROC IMPORT wizard gives me correct length from raw file because have some field with leading zeros length more than 8 and by default import wizard is showing length 10 only....

Super User
Super User
Posts: 6,842

Re: knowing SAS variables length

Read them in and figure it out. 

%let nvars=8 ;

data lengths ;

  length varnum 8 name $32 length 8 value $30000;

  array names (&nvars) $32 ;

  array lengths (&nvars) ;

  infile "myfile.csv" dsd truncover lrecl=30000  end=eof ;

  do varnum=1 to &nvars;

     input name @ ;

     names(varnum) = name ;

  end;

  input;

  do until (eof);

     do varnum = 1 to &nvars;

       input value @;

lengths(varnum)=max(lengths(varnum),length(value));

     end;

     input;

  end;

  do varnum=1 to &nvars;

    name=names(varnum);

    length=lengths(varnum);

    output;

    keep varnum name length;

  end;

run;

Contributor
Posts: 55

Re: knowing SAS variables length

Tom - i tried to run your code with my file in your infile statement - it is giving me;

- 3 variables : varnum/name/length

- only one value for name variable (only 1st obs)

- 43 length value for 1st obs -  all rest obs has same value  which is 1

Ask a Question
Discussion stats
  • 2 replies
  • 274 views
  • 0 likes
  • 2 in conversation