Использование нескольких операторов Where - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь отфильтровать записи, которые содержат определенные слова в строке для переменной 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;

1 Ответ

0 голосов
/ 14 февраля 2019

Если в шаге данных есть несколько выражений 'vanilla' 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 было расширено.

...