从SAS列中删除美元符号
我有一个SAS数据集,其中有$和一些列。因此,不是读67349美元,而是读67349美元。如何从所有列中删除所有$并让SA将其识别为数字从SAS列中删除美元符号,sas,reformatting,Sas,Reformatting,我有一个SAS数据集,其中有$和一些列。因此,不是读67349美元,而是读67349美元。如何从所有列中删除所有$并让SA将其识别为数字 只有几列带有美元符号,所以我可以一次只做一列。我正在使用SAS的免费大学版。我将从字符串变量中删除$and、值。然后使用输入函数将其转换为数字 data test; format incol $12.; incol = "$62,123"; incol = compress(translate(incol,"","$,")); outcol = input(
只有几列带有美元符号,所以我可以一次只做一列。我正在使用SAS的免费大学版。我将从字符串变量中删除$and、值。然后使用输入函数将其转换为数字
data test;
format incol $12.;
incol = "$62,123";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;
incol = "62,123.3";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;
run;
TRANSLATE()
用空格替换$andCOMPRESS()
删除所有空白INPUT()
将字符串转换为数字
data test;
format incol $12.;
incol = "$62,123";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;
incol = "62,123.3";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;
run;
当然,您可以将所有这些都放在一个调用中,但我在这里将其分解,以便更容易理解。如果您只想删除$,并且仍然有一个字符变量,请使用
compress()
函数
data want;
set have;
myvar = compress(myvar,'$');
run;
如果要将字符串转换为新的数值变量,请参阅此现有问题。
逗号。
信息将自动忽略字符串中的$
和,
字符 为什么不直接使用美元。
informat
data want ;
incol ="$62,123" ;
outcol = input(incol,dollar10.) ;
run ;
数据需求;
incol=“$62123”;
outcol=输入(输入,美元10);
跑
我在哪里使用列的名称?在本例中为“HOME_VAL”。我是否要替换“$62123”?
incol
和outcol
只是占位符。将incol
替换为您的列,并将outcol
替换为您想要称之为新列的内容。如果需要,您始终可以删除旧列并将新列重命名回原始名称。这是在向数据集添加行您已经有SAS数据集了吗?还是从源文件创建SAS数据集?我在该数据集中有一个现有的数据集,有两列包含美元符号。