У меня есть набор данных, который имеет один столбец, и п строк, как это:САС Функция CATx удаляет пробелы
DataSet1:
Column1
--------
AAA AAA
BBB BBB
CCC CCC
DDD DDD
EEE EEE
Я хочу сделать из этих данных 1 строки, как:
«AAA AAA» n «BBB BBB» n «CCC CCC» n «DDD DDD» n «EEE EEE» n
Я сделаю это макросом.
Я использовал как catx функция. Но функция удаляет пробелы из данных ..
Я использовал сделать петлю, как это:
.
.
.
.
data _NULL_;
if &I^=1 then do;
frstclmn=&frstclmn||""""||"&clmn"||""""||"n ";
end;
run;
.
.
.
Но я не мог Ассинг переменную в делать обкорнать в заявлении данных с самим собой.
Как я могу это сделать? Благодаря
Edit:
%MACRO result;
data _NULL_;
set &LIB_NAME..column_list;
retain namelist;
length namelist $5000;
namelist=catx(' ',namelist,cats('"',name,'"n'));
run;
---how can I use "namelist" variable here ? out of data statement.---
%MEND result;
Этот код работает отлично. Теперь я хочу использовать эту переменную namelist из этого оператора данных. Если я печатаю вот так% put & namelist =; Он показывает неправильный результат в макросе. Я хочу использовать этот результат переменной в макроре другой инструкции.
Я понятия не имею, где макросы входят в это, вы хотите помочь с этим на макроязыке, вам нужно будет предоставить больше кода, чем это. – Joe
И - да, catx удаляет пробелы, это своего рода одна из его целей. Вы даже не объяснили, что вы делаете с CATX. – Joe