从SAS专栏中删除美元符号

时间:2016-07-28 23:27:38

标签: sas reformatting

我有一个SAS数据集,其中包含一些列的$。所以不是阅读67,349而是67,349美元。如何从所有列中删除所有$并让SAS将其识别为数字?

只有几列带有美元符号,所以我可以一次做一列。我正在使用SAS的免费大学版。

3 个答案:

答案 0 :(得分:4)

如果你只想删除$并且仍然有一个字符变量,那么使用compress()函数。

data want;
  set have;
  myvar = compress(myvar,'$');
run;

如果要将字符串转换为新的数字变量,请查看此现有问题。 COMMA.信息将自动忽略字符串中的$,字符。 Converting character variabls to numeric in SAS

答案 1 :(得分:4)

为什么不使用dollar.信息?

data want ;
  incol ="$62,123" ;
  outcol = input(incol,dollar10.) ;
run ;

答案 2 :(得分:2)

我会从字符串变量中删除$和值。然后使用输入函数转换为数字。

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()用空格替换$和。 COMPRESS()删除所有空格。 INPUT()将字符串转换为数字。

当然你可以把所有这些都放在一个电话中,但我在这里把它分解出来以便更容易理解。