Подгруппой является последовательность смежных строк, имеющих одинаковые значения by-var.
NOTSORTED
- для групп обработки, построенных из значений, которые непрерывны пока не отсортировано.
Все ваши данные образца имеют подгруппы размера 1, поскольку ни одно из значений идентификатора не повторяется при просмотре столбца.
Вот два метода, которые вы можете попробовать:
- сортирует данные по
referenceid
и <some-other-sequencing-variable>
и выполняет обычную групповую обработку. - поддерживает га sh из
referenceid
и счетчиков посещений при обработке набора данных
Ха sh пример (мой sequenceId
=== ваш join_key
):
data want;
set have;
if _n_ = 1 then do;
declare hash ids();
ids.defineKey('referenceid');
ids.defineData('referenceid', 'sequenceId');
ids.defineDone();
end;
if ids.find() ne 0
then sequenceId = 1;
else sequenceId + 1;
ids.replace();
run;