全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
606 3
2023-01-30

data test;
set sashelp.class;


/*以下语句如果有多个分号结尾,则会报错*/
select(sex);;
  when("男")  sex='1';
  when("女")  sex='2';
  otherwise sex=' ';
end;
run;


这种行为和SAS其他语句相比似乎显得特别。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2023-1-31 13:26:40
不清楚原因,感觉像是data步和sql步的杂合,可以单纯使用data步的if或者sql步的case when,这样分号的要求就不那么复杂了
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-2-1 13:24:57
据一位热心网友:
一个单独的 ; 就是一个空语句,放在其它地方或许是合法的,但放在 select 语句后则不合适,因为 select 语句后仅支持 when、otherwise、end 语句。

若你仔细观察你的程序在日志中的报错,应该能有所收获。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-2-1 18:09:36
whymath 发表于 2023-2-1 13:24
据一位热心网友:
一个单独的 ; 就是一个空语句,放在其它地方或许是合法的,但放在 select 语句后则不合 ...
非常感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群