SAS 格式 $100,000 到 $100K

SAS format $100,000 to $100K

我需要将以 $ 为单位的大数字转换为以千美元为单位的数字(例如 $100,000 到 $100K) 我如何在 SAS 中执行此操作?

我找不到具体的格式,自定义格式的所有示例均指范围或特定值。

PROC FORMAT 必须执行以下操作:

  1. 以数字为输入
  2. 将此数字除以 1,000
  3. 最后加“K”
  4. 按照美元格式在 3 位数字之间插入逗号。

能否请您指导我如何在 SAS 中实现这一点?

图片格式完全符合您的要求。尽管与 documentation Tom/Reeza linked 相比,您的要求确实略有不同,即不要超出 K 并添加逗号。

proc format;
  picture dollark
   0-999.99 = "009" (prefix='$')
   1e03-high = "000,000,009K" (prefix='$' mult=0.001)
  ;
quit;
data _null_;
  do x = 100,1000,100000,10000000,10000000000000;
    put x= dollark.;
  end;
run;

请注意,它不适用于最后一个示例,因为它超过了图片中的最大数量 - 这是为了显示限制。如果您有更多的可能,请添加更多的 000,000,000。 (0 = 可以省略的数字,9 = 始终显示的数字。)

此外,我忽略了美分 - 这只是美元。查看文档以了解有关如何处理的更多详细信息,如果您确实 想要 美分。