Я занимаюсь упражнениями из учебника SAS Programming 2.SAS: преобразование узкого в широкий набор данных
Я пытаюсь преобразовать эти данные:
Narrow Data set Для широкого набора данных, как это:
Wide Data Set Я также должен иметь массив в моем шаге данных и вывода только переменная customer_id и month1 - month12.
Мой код выглядит следующим образом:
Data customer_orders(keep=Customer_ID month1-month12);
set orion.order_summary;
by customer_id;
array month{12} month1-month12;
do i= 1 to 12;
if order_month = i then
month{i}= sale_amt;
end;
run;
proc print data=customer_orders;
run;
Моя проблема, когда я запускаю этот код является то, что наблюдения не отображает все значения sale_amt для Customer_ID в одном наблюдении, но вместо этого происходит переход к следующей строке для отображения второе значение, обнаруженное в наблюдении.
Любая помощь была бы принята с благодарностью.
Примечание: Мне не разрешено размещать другую ссылку на то, как выглядит мой вывод.
Необходимо использовать RETAIN для хранения переменных по строкам. В противном случае в каждой строке массивы vars будут отсутствовать. Вам также нужен явный оператор OUTPUT. – Reeza