2013-08-26 5 views
3

Я часто хочу вставить все имена переменных набора данных в один столбец в файле Excel.Вертикальный список имен переменных

proc contents data=mydata varnum short; 
run; 

даст мне имена, разделенные пробелами в ОРВ. Я запускаю text-to-columns, а затем вставляю-перенос результатов, чтобы получить формат, который я хочу.

Я хочу тот же вывод, но разделенный разрывами строк вместо пробелов, чтобы я мог легко вставить их в один столбец в Excel.

Спасибо за ваши предложения, рТ

ответ

2

таблица вид vcolumn в библиотеке SASHELP даст вам то, что вам нужно. Этот вид таблицы автоматически генерируется sas.

proc sql noprint;

create table vars as 
    select name 
    from sashelp.vcolumn 
    where libname = upper("work") 
     and 
     memname = upper("table1") 
    ; 
quit; 

где работа ваша библиотека и table1 это таблица, которую хотите переменные из

+0

Что лучше всего подходит для меня - это включить 'order by varnum' и отбросить' noprint' и 'create table'. Это дает мне одну колонку, напечатанную и выбираемую на выходе. – pteranodon

2

Если вы хотите использовать содержимое Proc, сделать вывод в наборе данных:

proc contents data=mydata noprint out=mydata_varnames (keep=name); 
run; 

Тогда либо открыть набор данных и скопировать-вставить или экспортировать данные в файл, используя экспорт proc. (например, файл csv. Я не поклонник экспорта напрямую в xls)

+0

К сожалению, выходной набор данных, как представляется, всегда записывается в алфавитном порядке, когда я хочу сохранить их в порядке создания даты. Я могу включить 'keep = name varnum', затем отсортировать его и удалить varnum, но я ищу минимальное количество шагов. – pteranodon

Смежные вопросы