SAS元数据对象详细信息-SAS库、物理表、作业

SAS元数据对象详细信息-SAS库、物理表、作业,sas,sas-metadata,Sas,Sas Metadata,我使用这段代码获取了所有SAS库、物理表和作业的对象列表。 我现在需要获取这些对象的详细信息, 就像库一样-我需要它们的libname和完整路径, Teradata Libs-架构名称、库路径 物理表-位置和其他属性 作业-位置和其他属性 我不太熟悉如何报告属性或报告什么属性,但我确实需要它们的路径和属性。 谢谢。您提到的示例是使用proc metadata,它返回您需要理解和处理的XML。这里真正的问题是您必须学习如何构建输入XML来构建元数据查询,这是一件相当复杂的事情 也许更直接的方法是使

我使用这段代码获取了所有SAS库、物理表和作业的对象列表。 我现在需要获取这些对象的详细信息, 就像库一样-我需要它们的libname和完整路径, Teradata Libs-架构名称、库路径 物理表-位置和其他属性 作业-位置和其他属性

我不太熟悉如何报告属性或报告什么属性,但我确实需要它们的路径和属性。
谢谢。

您提到的示例是使用
proc metadata
,它返回您需要理解和处理的XML。这里真正的问题是您必须学习如何构建输入XML来构建元数据查询,这是一件相当复杂的事情

也许更直接的方法是使用Data step元数据函数,如


METABROWSE命令有助于理解元数据对象关系(如果您有权访问SAS Foundation),请参见

您请求的属性将根据您正在检查的库引擎而改变

以下宏将为BASE、OLEDB、ODBC和POSTGRES引擎生成libname(请注意,存储库已移动):

根据以下答案,可获得直接属性:

文件夹路径可用,具体如下所示:


您需要元数据服务器定义中的信息吗?或者当前SAS会话中活动libref的信息?我需要元数据存储库中的信息。感谢Vasja,此数据步方法有效且速度非常快,您知道我们可以使用哪些选项来实现物理表和作业的相同功能吗?
%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;