jeozu 发表于 2014-5-1 10:45 
我试验了你的code,SAS显示有如下问题:
437 %let tbl=sample1;
438 proc sql noprint;
439 create table final as
440 select b.firmid
441 , b.fyear
442 , ifn(c.out>0, 1, 0) as turnover
443 from (select distinct firmid, fyear from &tbl order by firmid, fyear ) b left join (
----- -
79 22
200
ERROR 79-322: Expecting a ).
ERROR 22-322: Syntax error, expecting one of the following: ;, !, !!, &, (, *, **, +, ',', -,
'.', /, <, <=, <>, =, >, >=, ?, AND, ASC, ASCENDING, BETWEEN, CONTAINS, DESC,
DESCENDING, EQ, EQT, GE, GET, GT, GTT, IN, IS, LE, LET, LIKE, LT, LTT, NE, NET,
NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.
ERROR 200-322: The symbol is not recognized and will be ignored.
444 select firmid
------
22
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, (, *, **, +, ',', -, '.',
/, <, <=, <>, =, >, >=, ?, AND, CONTAINS, EQ, EQT, GE, GET, GT, GTT, LE, LET, LIKE,
LT, LTT, NE, NET, OR, ^=, |, ||, ~=.
445 , fyear
446 , count(directorid) as out
--
22
202
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, ), *, **, +, ',', -, /, <,
<=, <>, =, >, >=, ?, AND, BETWEEN, CONTAINS, EQ, EQT, GE, GET, GT, GTT, IN, IS, LE,
LET, LIKE, LT, LTT, NE, NET, NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.
ERROR 202-322: The option or parameter is not recognized and will be ignored.
447 from (
448 select *
449 from &tbl
450 except (
NOTE: Line generated by the macro variable "TBL".
1 sample1
-------
22
202
451 select a.*
-
22
76
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, (, ), *, **, +, ',', -,
'.', /, <, <=, <>, =, >, >=, ?, AND, BETWEEN, CONTAINS, EQ, EQT, GE, GET, GT, GTT,
IN, IS, LE, LET, LIKE, LT, LTT, NE, NET, NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.
ERROR 202-322: The option or parameter is not recognized and will be ignored.
ERROR 76-322: Syntax error, statement will be ignored.
452 from &tbl a, &tbl b
453 where a.firmid = b.firmid
454 and a.directorid = b.directorid
455 and a.fyear +1 = b.fyear
456 )
457 )
458 group by firmid, fyear
459 )c
460 ;
461 quit;
和你的code相比我只改动了变量名字:table name改为sample1; firm 改为firmid; year 改为fyear; name_id 改为directorid ; 其他没有改动。 能否帮我看看原因?谢谢