如何在SAS中首先创建具有可变零数的数字

如何在SAS中首先创建具有可变零数的数字,sas,Sas,我必须合并SAS中的两个数据集,其中一个关键变量是一个数字,其中lentgh是10(例如)。如果数字小于10,我有一个可变的零数。例如00000056471。 而在另一个数据集中,数字只是56471。我想在第二个数据集中创建另一个变量,添加变量编号为零,并将其用作合并的关键变量 我该怎么修理 提前感谢您可以使用三种方法: data have; input ID $10. ; cards; 143134 12 14356677 12f oh dear ;run; data want; set

我必须
合并
SAS中的两个数据集,其中一个关键变量是一个数字,其中lentgh是10(例如)。如果数字小于10,我有一个可变的零数。例如
00000056471
。 而在另一个数据集中,数字只是
56471
。我想在第二个数据集中创建另一个变量,添加变量编号为零,并将其用作
合并的关键变量

我该怎么修理


提前感谢

您可以使用三种方法:

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格式的文档可用。

您可以使用三种方法:

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格式的文档可用。

谢谢。问题是这个变量是字符,它必须保持字符,因为在另一个数据集中变量是字符(也有字母数字值)。谢谢。问题是这个变量是字符,它必须保持字符,因为在另一个数据集中变量是字符(也有字母数字值)。