Путь к папке 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'));
бежать;
Другие вопросы по тегам