楼主: moshushi8928
7036 13

请教各位朋友有关sas list的问题 [推广有奖]

11
yuerqieqie 发表于 2013-6-12 21:35:33
moshushi8928 发表于 2013-6-12 10:41
强!不过code有处看不懂,where 0 %do k = 1 %to &n_var; or (0 %do j = 1 %to &n_list; or (&&var&k lik ...
%do k = 1 %to &n_var;  %end; 这个循环是循环每个在field里的变量。%do j = 1 %to &n_list; %end;是察看变量是否在list里。 macro statement 是必须由分号结束的。最后一个分号是用于结束where clause。
用我的例子解开这段macro是
where 0 or (0 or (dx1 like '340') or (dx1 like '433_1')) or  (0 or (dx2 like '340') or (dx2 like '433_1')) ;

12
yuerqieqie 发表于 2013-6-12 21:40:07
boe 发表于 2013-6-12 00:51
个人理解,不知合不合要求,很多细节没处理好,多多指教。。。 (list。txt里面的值是4、5、6)。。。
do over 是很好的用法。不过if field in (&list);是很危险的用法,比如x3不在list里,但x4在list里,这样就不会被留下来

13
yuerqieqie 发表于 2013-6-12 21:43:02
邓贵大 发表于 2013-6-12 02:46
ICD-9 diagnosis code are usually between 3 to 5 characters (most are digits), so don't go beyond 5 d ...
非常同意。这样更容易保证程序的正确性也比较容易QC,虽然麻烦一点。而且一般一个study也不会有很多的ICD9 code

14
boe 发表于 2013-6-12 21:51:22
yuerqieqie 发表于 2013-6-12 21:40
do over 是很好的用法。不过if field in (&list);是很危险的用法,比如x3不在list里,但x4在list里,这样 ...
是啊,如果要求field里的变量是 or  的话,do over就不合适了。。。
Gorgeous girl , I love !

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

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