元数据表的 SAS 文件夹路径 [英] SAS Folder Path for Metadata tables

查看:14
本文介绍了元数据表的 SAS 文件夹路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道是否有人知道如何检索元数据表的 sas 文件夹路径?

I'm wondering if anyone knows how to retrieve the sas folder path for metadata tables?

我想列出位于元数据上的每个表的文件夹路径.

I would like to list the folder path for each tables located on metadata.

例子:

Table FactPortfolio 在管理控制台中位于以下文件夹结构下:商业-->瑞典-->投资组合-->资源-->表格

Table FactPortfolio is under the following fodler structure in management console: Commerc-->Sweden-->Portfolios-->Resources-->Tables

在 sas 的元数据浏览器中,如果单击表和树以及父树直到到达顶层层次结构,我可以找到文件夹路径.但是,我想使用 SAS 中的元数据数据步进函数来检索它.

In metadata browser in sas, I can find the folder path if I click on tables and trees and parent trees until i reach the top hierarchy. However, I would like to retrieve it with metadata data step functions in SAS.

BR乔纳斯

推荐答案

只要知道表的URI就可以推导出来,例如:

This can be derived once you know the table URI, eg as follows:

%let metauri=OMSOBJ:PhysicalTableA5HOSDWY.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 的示例代码这里.

编辑 20200920:

这里是获取表 uri 的宏:https://github.com/sasjs/core/blob/main/meta/mm_gettableid.sas

Here is a macro for getting a table uri: https://github.com/sasjs/core/blob/main/meta/mm_gettableid.sas

您还可以使用以下代码导出所有表及其元数据路径:

You can also export all tables, and their metadata paths, using this code:

* load macros;
filename mc url "https://raw.githubusercontent.com/sasjs/core/main/all.sas";
%inc mc;

* invoke macro;
%mm_tree(root=%str(/) ,types=Table ,outds=myoutputdataset)

这篇关于元数据表的 SAS 文件夹路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆