У меня есть один набор данных (mydata) с идентификатором, именем, start_date, end_date и кодом. Тогда у меня есть другой набор данных (коды), который содержит только один столбец, который является кодовым списком. Я хочу найти способ увидеть, соответствует ли код каждого отдельного человека ЛЮБОЙ из кодов в списке кодов (между 1 января 2004 года и 31 декабря 2005 года). Я пытался поставить все коды из списка кодов в список макросов переменного, но есть слишком много коды в списке кодов и поэтому он получает усечен ...Проверка наличия каждого значения в одном наборе данных равным ЛЮБОМ значению в другом столбце набора данных
это мой код до сих пор:
proc sql noprint;
select distinct *
into : codelist separated by ' '
from codes
quit;
data 20042005; set mydata codes;
match = 0;
if code in (%codelist) AND start_date >= '01jan2004'd AND end_date <='31dec2005'd
THEN match = 1;
run;
Любая помощь будет оценена!
спасибо :)
Как выглядит таблица кодов? У вас есть несколько столбцов или один столбец. Если коды являются символами, вам нужно будет процитировать переменную так, чтобы вместо нее было указано следующее: proc sql; выберите отдельную цитату (код) в: список кодов, разделенный символом '' от кодов; уволиться; – Reeza
все коды являются численными. только один столбец в обоих наборах данных. Я просто хочу узнать, соответствует ли каждое значение кода в наборе данных mydata ЛЮБОЙ из значений в наборе данных кодового списка. Это помогает прояснить ситуацию? – Mixcels