4

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

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

4

3 回答 3

5

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

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

如果要将字符串转换为新的数字变量,请参阅此现有问题。该COMMA.信息将自动忽略字符串中的$,字符。在SAS中将字符变量转换为数字

于 2016-07-29T02:21:09.927 回答
5

为什么不直接使用dollar.信息?

数据要;
  incol ="$62,123" ;
  outcol = input(incol,dollar10.) ;
跑 ;
于 2016-07-29T07:06:00.607 回答
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()将字符串转换为数字。

当然,您可以将所有这些都放在 1 个电话中,但我在这里将其分解为更容易理解。

于 2016-07-29T00:56:39.830 回答