SAS между наблюдениями из другой таблицы поиска

create table Mstr_codes_frm_thru as
select DISTINCT 
code,value_from,value_thru
from master_code;

значения from и thru находятся в таблице diff (Exp_Master)

то, что я хотел бы, - это способ, которым я мог бы создать таблицу, которая вернула бы все наблюдения между исходными значениями вместе с кодом, связанным с ними. (Смотри ниже)

введите описание изображения здесь

Всего 1 ответ


Возможно, вы захотите объединение, которое использует from и thru из master_code как части критерия BETWEEN .

Пример:

data master_code;
input code min max; datalines;
1 10 12
1 20 22
2 88 91
3 11 14
4 20 21
;
data exp_master;
do code = 1 to 10;
  do value = 1 to 100;
    output;
  end;
end;
run;

proc sql;
  create table want as
  select distinct exp_master.code, exp_master.value, master_code.min, master_code.max
  from master_code 
  join exp_master
  on master_code.code = exp_master.code
  where
  exp_master.value between master_code.min and master_code.max
  ;
quit;

введите описание изображения здесь


Есть идеи?

10000