首页 > 解决方案 > 使用多个 Where 语句

问题描述

我正在尝试过滤掉包含REASON_FOR_VISIT变量字符串中特定单词的记录。total_ed_los然后我想使用剩余的记录来计算变量和的中值arrive_to_dr_sees

我有以下代码,但恐怕它没有过滤掉我想要的字符串。这是我需要使用的实例PROC SQL还是有其他选择?

谢谢!

data FT_Post;
set WORK.FT_May;
Where checkin_time between '12:00't and '20:00't;
Where REASON_FOR_VISIT Not Like '%psyc%';
Where REASON_FOR_VISIT Not Like '%psy eval%';
Where REASON_FOR_VISIT Not Like '%psych%';
Where REASON_FOR_VISIT Not Like '%suicid%';
Where REASON_FOR_VISIT Not Like '%homicid%'; 
run; 

proc means data=FT_Post median;
class checkin_date;
var  total_ed_los arrive_to_dr_sees;
run;

标签: sas

解决方案


如果您在数据步中有多个“香草”where 子句,您将在日志中看到以下内容:

注意:WHERE 子句已被替换。

为避免这种行为,您可以使用where also

data FT_Post;
set WORK.FT_May;
Where checkin_time between '12:00't and '20:00't;
Where also REASON_FOR_VISIT Not Like '%psyc%';
Where also REASON_FOR_VISIT Not Like '%psy eval%';
Where also REASON_FOR_VISIT Not Like '%psych%';
Where also REASON_FOR_VISIT Not Like '%suicid%';
Where also REASON_FOR_VISIT Not Like '%homicid%'; 
run; 

您现在将看到:

注意:WHERE 子句已被扩充。


推荐阅读