Мое рабочее место внедрило сервер Oracle Exadata для работы за нашей установкой SAS.Я нахожусь в процессе преобразования моего сценария SAS для запуска в этой среде Oracle с использованием SQL-кода.Кажется, я не могу придумать шарнир, который дает мне те же результаты, что и мой SAS "PROC TRANSPOSE"
Вот мой процесс из SAS
PROC TRANSPOSE DATA=WORK.ROW_LEVEL_DATA OUT=WORK.PIVOT_DATA (DROP= _NAME_ _LABEL_) PREFIX=ORDR;
BY GROUPKEY;
ID ORDR_NUM;
VAR STRING_VAL;
RUN;
Мои данные настроены так, что каждыйSTRING_VAL нумеруется последовательно до 25. В настоящее время SAS поворачивается с помощью GROUPKEY и создает столбцы ORDR1, ORDR2, ORDR3 и т. Д. Вплоть до 25. Каждый STRING_VAL помещается в столбец с соответствующей нумерацией.
Этоэто результат, который я пытаюсь воссоздать, используя сквозной SQL.
GROUPKEY ORDR1 ORDR2 ORDR3
123456 AAAAA BBBBB CCCCC
654645 AAAAA
759876 BBBBB CCCCC
Любая помощь очень ценится!
РЕДАКТИРОВАТЬ: я обработал чуть более 1B записей с помощью SAS PROC, которыйпроизвел 98.6M транспонированных записей за 16 минут.Это приемлемое количество времени, но мне любопытно, есть ли лучший способ, использующий сквозной SQL.