Путь к папке SAS для таблиц метаданных
Мне интересно, если кто-нибудь знает, как получить путь к папке sas для таблиц метаданных?
Я хотел бы перечислить путь к папке для каждой таблицы, расположенной в метаданных.
Пример:
Таблица FactPortfolio в консоли управления имеет следующую структуру: Commerc-> Швеция -> Портфолио -> Ресурсы -> Таблицы
В браузере метаданных в sas я могу найти путь к папке, если нажимаю на таблицы, деревья и родительские деревья, пока не достигну верхней иерархии. Тем не менее, я хотел бы получить его с помощью шаговых функций метаданных в SAS.
БР Джонас
2 ответа
Это может быть получено, когда вы знаете URI таблицы, например, следующим образом:
%let metauri=OMSOBJ:PhysicalTable\A5HOSDWY.BE0006N9;
/* get metadata paths */
data ;
length tree_path $500 tree_uri parent_uri parent_name $200;
call missing(tree_path,tree_uri,parent_uri,parent_name);
drop tree_uri parent_uri parent_name rc ;
uri="&metauri";
rc=metadata_getnasn(uri,"Trees",1,tree_uri);
rc=metadata_getattr(tree_uri,"Name",tree_path);
do while (metadata_getnasn(tree_uri,"ParentTree",1,parent_uri)>0);
rc=metadata_getattr(parent_uri,"Name",parent_name);
tree_path=strip(parent_name)||'/'||strip(tree_path);
tree_uri=parent_uri;
end;
tree_path='/'||strip(tree_path);
run;
Пример кода для получения URI таблицы можно найти здесь и здесь.
В Base вы можете использовать таблицы / словари sashelp, например
/ * Словарь SQL */ proc sql; создать таблицу как список Выбрать * из словаря где libname='РАБОТА' заказ по имени; уволиться; /* SASHELP */ список данных; set sashelp.vmember (где =(libname='WORK')); бежать;