Как изменить данные от широкого до длинного
Я хочу изменить столбцы данных в строки
Начальная таблица, как показано ниже
ID1 ID2 ID3 Name
----------------------------
I001 I002 I003 John
Desire Table like
ID Name
------------
I001 John
I002 John
I003 John
Кто-нибудь может помочь?
Большое спасибо!
2 ответа
Один из способов сделать это - установить массив идентификаторов и выполнить цикл с явным выражением OUTPUT.
data want;
set have;
array ids(3) id1-id3;
do i=1 to dim(ids);
ID=ids(i);
OUTPUT;
end;
run;
Ты можешь использовать PROC TRANSPOSE
Убедитесь, что ваши данные отсортированы по NAME
proc transpose data=have out=want(rename=(_name_=ID));
by Name;
run;