我必须在SAS
中00000056471
两个数据集,其中一个关键变量是lentgh为10的数字(例如)。如果数字小于10,我有一个可变数量的零。例如56471
。
而在其他数据集中,数字只是merge
。我想在第二个数据集中创建另一个变量,该变量添加变量数为零,并将其用作SELECT
*
FROM TableName
Order BY ABS(Amount)
的关键变量。
我该如何解决?
提前感谢
答案 0 :(得分:0)
您可以使用三种方法:
data have;
input ID $10. ;
cards;
143134
12
14356677
12f
oh dear
;run;
data want;
set have;
/* if numeric then convert to number and back using z10 format */
newID=put(input(ID,8.),$z10.);
/* if alphanumeric, right align then replace spaces (will replace ALL spaces) */
newID2=translate(right(ID),'0',' ');
/* probably the best method */
newID3=repeat('0',10-length(ID)-1)||ID;
run;
有关Zw.d格式的文档here。