Help using Base SAS procedures

sorting by columns

Reply
Super Contributor
Posts: 396

sorting by columns

Hi, I'm trying to use proc similarity (hope someone is familiar with it) and it needs sequential column variables, eg. Var1 Var2, Var3, ... Var1000, but when I sort it, it sorts as Var1, Var10, Var100, Var101, Var2, ... Var999... How can I keep the normal numbering system 1,2,3,...1000 .. If anyone knows proc similarity, I have 2 groupings that would duplicate the Date which is the ID variable.  I'm trying to use a by statement in proc similarity but I'm getting an error that the ID (date) is duplicated from all these groups.  Any suggestions, thanks.

PROC Star
Posts: 7,363

Re: sorting by columns

I provided one possible solution in a different thread where you asked this question.  I'm not familiar with proc similarity but, in order to make the variable values so that they sort correctly, use put(_n_,z4.) rather than just _n_.

That way you don't have to do anything extra in order to get it to sort as desired.

Super Contributor
Posts: 396

sorting by columns

Thanks art..

Super User
Super User
Posts: 6,502

Re: sorting by columns

You can use variable lists in RENAME statement (or data set option) to add in the leading zeros.

data new ;

  set old;

  rename v1-v1000=v0001-v1000;

run;

proc XXXX data=old(rename=(v1-v1000=v0001-v1000));

....

Super Contributor
Posts: 1,636

Re: sorting by columns

Hi Tom,

I think that v1-v1000 are values of one variable of the OP's dateset, not v1-v1000 variables. 

Ask a Question
Discussion stats
  • 4 replies
  • 562 views
  • 3 likes
  • 4 in conversation