У меня есть ряд таблиц в SAS, и я хотел бы перечислить все таблицы и их столбцы, где имя таблицы like "abc%"
(т.е. все таблицы, которые начинаются со строки «abc»)
Я бы предпочел использовать proc sql, если это возможно.
У меня есть ряд таблиц в SAS, и я хотел бы перечислить все таблицы и их столбцы, где имя таблицы like "abc%"
(т.е. все таблицы, которые начинаются со строки «abc»)
Я бы предпочел использовать proc sql, если это возможно.
Как намекает Zfunk в комментариях, это возможно через dictionary.columns
.
proc sql;
select name
from dictionary.columns
where libname='MYLIB' and memname like 'ABC%';
quit;
Имена (имена таблиц/библиотек) почти всегда в таблицах словарей написаны в верхнем регистре. LIBNAME очевидно, MEMNAME — это имя таблицы, NAME — это имя столбца. Там есть куча других вещей, создайте таблицу с select *
, чтобы увидеть все это.
Существуют и другие полезные таблицы; полный список см. в SASHELP
в Vs. SASHELP.VCOLUMN
= dictionary.columns
, и большинство других идентичны, за исключением удаления V и добавления s. документ Кирка Лаффлера SUGI 30, на который ZFunk ссылается в комментариях, также является отличным отправная точка для расследования этого.