楼主: peterpan_aus
2154 13

[原创博文] 请大家看看这个SAS怎么写 [推广有奖]

11
peterpan_aus 发表于 2012-7-26 14:35:29
ziyenano 发表于 2012-7-26 14:26
具体怎么说?
不好意思我是对你楼上的问得,刚才没看见你的,太感谢了!不过好像你也有一样的问题,因为每次不一定是1.1。other的值是个变量

12
ziyenano 发表于 2012-7-26 14:46:19
peterpan_aus 发表于 2012-7-26 14:35
不好意思我是对你楼上的问得,刚才没看见你的,太感谢了!不过好像你也有一样的问题,因为每次不一定是 ...
data _null_;
set ex1;
if ORIGIN_COUNTRY="OTHER" then call symput('other',ORIGIN_LOAD);
run;

proc sql;
create table c as
select b.*,(case when a.ORIGIN_LOAD is null then &other else a.ORIGIN_LOAD end ) as ORIGIN_LOAD
from  ex2 b left join ex1 a on a.ORIGIN_COUNTRY=b.Country;
quit;

13
peterpan_aus 发表于 2012-7-26 15:02:31
ziyenano 发表于 2012-7-26 14:46
data _null_;
set ex1;
if ORIGIN_COUNTRY="OTHER" then call symput('other',ORIGIN_LOAD);
太感谢了,问题完美解决!!!!

14
YueweiLiu 发表于 2012-7-27 19:59:05
  1. data have;
  2. input make :$20. country $;
  3. cards;
  4. MINI        GBR
  5. MINI        GBR
  6. VOLKSWAGEN        ARG
  7. VOLKSWAGEN        ARG
  8. VOLKSWAGEN        ARG
  9. VOLKSWAGEN        ARG
  10. CITROEN        FRA
  11. PORSCHE        DEU
  12. VOLKSWAGEN        ARG
  13. CITROEN        FRA
  14. ;

  15. proc format;
  16.         value $country  "DEU" = 1.1
  17.                                         "FRA" = 0.98
  18.                                         "GBR" = 0.99
  19.                                         other = 1.1;
  20. run;

  21. data want;
  22.         set have;
  23.         value=input(put(country,$country.),best.);
  24. run;
复制代码


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 13:37