You need to enable JavaScript to run this app. SAS:如何创建包含另一数据集所有变量名的结果表
优惠活动
大模型
产品
解决方案
定价
更多

SAS:如何创建包含另一数据集所有变量名的结果表

最简实现方案

以下两种方法均无需手动输入变量名,直接运行即可生成符合要求的result表,逻辑简单无额外复杂处理。

方法一:PROC CONTENTS(代码最短,优先推荐)

直接复制运行以下代码即可:

proc contents data=test out=result(keep=name) noprint varnum;
run;

参数说明(理解后可灵活调整):

  • data=test:指定要提取变量名的源数据集,即你已经建好的test表
  • out=result(keep=name):将提取的变量信息输出到名为result的数据集,仅保留存储变量名的name列
  • noprint:禁止SAS在结果窗口输出多余的变量属性报表,避免冗余信息
  • varnum:指定输出顺序和原数据集的变量定义顺序完全一致,若不加该参数,默认按变量名字母排序输出(你给出的示例变量顺序刚好符合字母排序,加不加结果一致)

方法二:PROC SQL 实现

如果你更习惯用PROC SQL语法,可运行以下代码:

proc sql noprint;
create table result as
select name
from dictionary.columns
where libname='WORK' and memname='TEST';
quit;

参数说明:

  • dictionary.columns是SAS系统自带的存储所有数据集变量信息的元数据表,直接查询即可得到变量名
  • libname='WORK':指定源数据集所在的逻辑库,默认你用data test;创建的数据集都存在临时库WORK中
  • memname='TEST':指定要查询的源数据集名,注意此处必须全大写,和SAS内部存储的规则一致

两种方法生成的result表结构和内容完全匹配你给出的预期结构,无需额外调整列属性。

内容的提问来源于stack exchange,提问作者hyg17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.28 12:06:04