获取 SAS 表元数据 URI 的通用方法

2024-04-17

我正在构建一个利用表对象的 SAS 元数据 ID(或 URI)的实用程序。当库使用 BASE 引擎时,以下代码可以很好地获取 ID:

%let mylib=SOMELIB;
data output (keep=uri dataname);
  length uri $100 dataname $256;
  uri='';
  i=1;
  do until (rc<0);
    rc=metadata_getnasn("omsobj:SASLibrary?@Libref='&mylib'","Tables",i,uri);
    put rc=;
    prc=metadata_getattr(uri,"Name",dataname);
    if rc>=0 then output;
    i+1;
    put i=;
  end;
run;

然而,对于其他库引擎(例如OLEDB、ODBC、REMOTE),SAS 会将信息存储在不同的属性中(例如在“UsingPackages/[my db]/Tables”下)。我可以为遇到的每个库引擎编写条件逻辑,但想知道是否有更简单/更通用的方法来获取表 ID?

同样的问题反过来也会发生(如果我搜索表,我仍然需要 SASLibrary 以确保它是唯一的)。


本文中的代码对我们的 SAS 管理员非常有帮助:

http://support.sas.com/documentation/cdl/en/lrmeta/63180/HTML/default/viewer.htm#p1k9zipe59ha2an1pq34gu143lay.htm http://support.sas.com/documentation/cdl/en/lrmeta/63180/HTML/default/viewer.htm#p1k9zipe59ha2an1pq34gu143lay.htm

示例:列出库及其服务器上下文

该程序使用 SAS 元数据 DATA 步骤函数返回更多 有关图书馆的详细信息。结果返回到 a Work 库中的 Libraries 数据集。请求的数据包括 库元数据 ID、库名称、libref、引擎、路径 文件系统(或者如果是 DBMS 数据,则为 DBMS 路径)和服务器上下文 与该库关联的。

它会给你你想要的一切,甚至更多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 SAS 表元数据 URI 的通用方法 的相关文章

  • 如何在 SAS University Edition 中直接导入 PC 上的文件?

    我正在使用 SAS University Edition 我必须将文件导入 SAS 软件 我尝试过使用 infile 和 proc import 语句 但直接从 PC 访问文件时这些语句不起作用 有没有办法直接从 PC 访问 SAS UE
  • SAS 中的 PROC SQL - 所有项目对

    我有一个数据集 我需要在其中查看来自另一个组的所有项目对 我在下面创建了一个玩具示例来进一步解释 BUNCH FRUITS 1 apples 1 bananas 1 mangos 2 apples 3 bananas 3 apples 4
  • 从工具栏提交 SAS 代码或宏

    是否可以将 SAS 脚本或宏分配给 Base SAS 中的工具栏按钮 即 您可以 dm 宏或 sas 脚本吗 当然 这是一种方法 转到工具 gt 自定义 选择自定义选项卡 单击 添加工具 最左边的按钮 命令 一词的正上方 创建一个新的空白按
  • SAS数字到字符的转换?

    当我们将数字转换为字符时 我们应该使用如下的数字格式 data test prodID 001 result put prodID 1 run proc print run 我也尝试过使用字符格式 1 而且它也有效 data test pr
  • 删除SAS中所有观测值都不包含特定值的组

    我想删除其观察值中没有 NUM 14 的整个组 所以就像这样 原始数据 ID NUM 1 14 1 12 1 10 2 13 2 11 2 10 3 14 3 10 由于 ID 2 中都不包含 NUM 14 因此我删除了组 2 它应该看起来
  • 导出 SAS 数据集中的变量类型

    有没有简单的方法来捕获和导出 SAS 数据集中每个变量的类型 我正在将数据集导出为 CSV 格式以读入 R 并且read table如果后者还知道每个变量的数据类型 则后者的过程可以更有效地工作 PROC CONTENTS 有一个 OUT
  • 使用宏对数据集中的列按组求和

    我有一个数据集 如下所示 Month Cost Center Account Actual Annual Budget June 53410 Postage 13 234 June 53420 Postage 0 432 June 5343
  • 在SAS中使用循环重命名索引列?

    我有一个数据集 其中变量为 col1 col2 col3 col15 我想将它们重命名为new1 new2 new3 new 15 我可以写15次类似的rename col1 new1 在 SAS 中 但如何使用循环实现此目的 谢谢 首先
  • 通过电子邮件发送 SAS html 输出

    我正在使用 SAS Enterprise Guide 6 1 我正在尝试使用 Windows 调度程序对下面的程序进行批处理以生成每周报告 它将有一些过程打印和 sgplots 我将其发送给的用户是高级用户 并且没有 SAS 如果他安装了
  • SAS列出并存储指定库下的所有表名到表中

    在库 测试 下 我有 5 个数据集 如何列出所有表名称 proc datasets lib work quit run 虽然我想进一步利用这些信息 就像表名一样 Thanks 使用 SQLdictionary tables view pro
  • XPT 到 CSV 的转换? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 也许这是错误的地方 但我不太确定该把它放在哪里 我有一个非常大的 XPT 格式的压缩 SAS 文件 我
  • Proc sql:基于回顾期的新客户和继续客户

    我有以下数据 wei 01feb2018 car wei 02feb2018 car wei 02mar2019 bike carlin 01feb2018 car carlin 05feb2018 bike carlin 07mar201
  • sas7bdat 变量名称中带有空格

    我收到了几个扩展名为 sas7bdat 的 SAS 数据集文件 我在 Windows 上使用 SAS 9 3 这些文件的创建者显然使用了不同的环境和 或软件 许多文件的 var 名称包含空格和其他无效字符 甚至运行一个proc conten
  • SAS 宏日期问题

    我对 SAS 完全陌生 我的数据库包含 2000 2011 年的数据 我的数据集列表对于每个数据集都是这样的date TP 2004012 for 26JAN2004 TP 20040127 for 27JAN2004 TP 2004012
  • SAS:如何计算除某些字符变量之外的所有字符变量的频率

    我知道我可以使用类似以下内容来计算所有字符的频率 proc freq data sashelp class tables char run 但是 有没有办法排除一些变量呢 我想做类似的事情 proc freq data sashelp cl
  • 获取 SAS 表元数据 URI 的通用方法

    我正在构建一个利用表对象的 SAS 元数据 ID 或 URI 的实用程序 当库使用 BASE 引擎时 以下代码可以很好地获取 ID let mylib SOMELIB data output keep uri dataname length
  • SAS Do 循环:在循环内使用循环变量来创建滞后变量

    我想创建包含给定变量的滞后值的变量 以实现大量滞后 我怎么能这样做呢 我尝试以下操作 data out set in do i 1 to 50 let j i lag j Lag j x end run 如何获取循环变量i进入宏变量j或者如
  • 如何读取从 Access 导入的 SAS 数据集(不符合 SAS 命名约定)

    我已使用 Libname 将 Access DB 导入 SAS 库名称 accdb c mydata base accdb DB 中的所有表现在都在 accdb 库中 但 Access DB 中的表名称与 SAS 数据集命名约定不匹配 我的
  • 使用 SAS EG 通过代理从 API 下载 JSON 文件

    我正在尝试使用瑞士当局提供的 API 对公司网络内的地址进行地理编码 我的公司使用带有用户名和密码的代理服务器 我是 SAS EG 的新手 这是我迄今为止拥有的代码 我必须匿名一些内容才能被允许在此处发布 filename response
  • 在从一个表中提取的循环内调用执行以执行宏

    我目前有以下情况 macro sqlloop event id lots of code mostly proc sql segments mend 生成一个输出表 名为export table2 我需要能够为另一个表 名为 vars 中的

随机推荐