SAS-连接时如何进行ASCENDING命令

时间:2014-07-16 03:22:42

标签: sorting sas

在连接SAS时,如何按升序对值进行排序?

例如。在这个例子中,我试图为aeacnoth1_std1,aeacnoth2_std等交配值......

if cmiss( aeacnoth1_std, aeacnoth2_std)=0 
    then aeacolst=strip(aeacnoth1_std)||','||strip(aeacnoth2_std);
 if cmiss( aeacnoth1_std, aeacnoth2_std, aeacnoth3_std)=0 
    then aeacolst=strip(aeacnoth1_std)||','||strip(aeacnoth2_std)||','||strip(aeacnoth3_std);
 if cmiss( aeacnoth1_std, aeacnoth2_std, aeacnoth3_std, aeacnoth4_std)=0 
    then aeacolst=strip(aeacnoth1_std)||','||strip(aeacnoth2_std)||','||strip(aeacnoth3_std)||','||strip(aeacnoth4_std);

1 个答案:

答案 0 :(得分:0)

一种可能的方法:

  1. 声明一个包含要连接的所有变量的数组
  2. 将数组排序为所需的顺序
  3. 连接数组
  4. 困难的部分是第2步,因为SAS 9.1或更早版本没有提供任何直接的方法。你可能会发现这篇论文很有用,或者只是谷歌的排序数组'看看会出现什么:

    http://www2.sas.com/proceedings/sugi26/p096-26.pdf

    编辑:如果你有SAS 9.2或更高版本,你可以使用call sortc对数组进行排序:

    http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a003106052.htm