我想知道是否有人知道如何检索元数据表的sas文件夹路径?
我想列出位于元数据上的每个表的文件夹路径。
示例:
表FactPortfolio在管理控制台中具有以下fodler结构: COMMERC - >瑞典 - >公文包 - >资源 - >表
在sas的元数据浏览器中,如果我点击表格,树和父树,直到我到达顶层,我就可以找到文件夹路径。但是,我想在SAS中使用元数据数据步骤函数检索它。
BR 乔纳斯
答案 0 :(得分:1)
在Base中,您可以使用sashelp表/词典视图,例如
/* SQL Dictionary */ proc sql ; create table memlist as select * from dictionary.tables where libname='WORK' order by memname ; quit ; /* SASHELP */ data memlist ; set sashelp.vmember (where=(libname='WORK')) ; run ;
答案 1 :(得分:1)
这可以在您知道表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;