Сравните в процедуре SAS

Во-первых, я почти ничего не знаю о SAS и я не программист, а бухгалтер, но вот что:

Я пытаюсь сравнить два набора данных, чтобы определить различия между ними, поэтому я использую команду «proc compare» следующим образом:

proc compare data=table1 compare=table2
criterion=.01;
run;

Это работает нормально, но сравнивается построчно и по порядку, поэтому, если в таблице 2 отсутствует строка на полпути, все записи после этой строки будут возвращены как не равные.

Как сделать так, чтобы сравнение производилось на основе переменной, чтобы процесс сравнения нашел значение, связанное с переменной X в таблице 1, а затем удостоверился, что та же самая переменная X в таблице 2 имеет такое же значение?


person sean    schedule 19.02.2010    source источник


Ответы (1)


Оператор ID в PROC COMPARE используется для сопоставления строк. Этот код может работать для вас:

proc compare data=table1 compare=table2 criterion=.01; 
  id X;
run;

Возможно, вам придется использовать PROC SORT для сортировки данных по X перед выполнением PROC COMPARE. Обратитесь к документации PROC COMPARE для получения подробной информации об операторе ID, чтобы определить, следует ли вам сортировать или нет.

Вот ссылка на документацию PROC COMPARE:

http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/a000057814.htm

person secoskyj    schedule 19.02.2010