Сравните N наборов данных, только вывод и сохранение различий - PullRequest
0 голосов
/ 07 декабря 2018

Мне нужно сравнить (попарно) наблюдения в N наборах данных.Все наборы данных имеют одну и ту же таблицу, переменные атрибуты.Меня волнует только обнаружение различий в наблюдениях, и мне нужно знать, какие две таблицы, и конкретные различия.Какой самый эффективный способ сделать это?У меня есть кое-что ниже, и я буду признателен за комментарии / предложения.

В настоящее время я использую следующие коды:

proc compare base = a compare = b 
outnoequal outbase outcomp outdif noprint out = a_b_out; 
run;

Так что для каждого набора данных a_b_out мне важно тольконе пустой.Журнал SAS может выдать ПРИМЕЧАНИЕ для этого.В настоящее время я использую макрос, чтобы проверить, является ли он пустым в каждом a_b_out, и условно вывести его в постоянный каталог.

Есть ли лучший (более эффективный способ)?

1 Ответ

0 голосов
/ 07 декабря 2018

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

Вы также можете использовать системный код после запуска PROC COMPARE, чтобы увидеть, о какой разнице было сообщено, еслиты хочешь;&SYSINFO. содержит значение, описывающее, о каких различиях было сообщено - см., Например, этот документ для получения дополнительной информации.(По сути, это упакованное целое число, где каждый бит является флагом, указывающим на разницу - 13-й бит указывает на разницу значений, или 4096.

...