SAS 对数据集所有字段rename

 
 
%macro rnm(data=,out=);

proc contents data=&data

out=t1(keep=varnum name)
     noprint;
run;

proc sql noprint;
select  name
     into :classname separated by‘ ‘
     from t1
     order by varnum;
quit;

%put &classname;

data &out;
set &data;
%let i=1;
%do %until (%scan(&classname.,&i.," ")=);
	%let yn=%sysfunc(compress(%scan("&classname",&i," ")));

	rename &yn=C&i;
	%let i=%eval(&i.+1);

%end;

	proc datasets nolist;
	delete t1;
	run;
%mend;

/*调用*/

%rnm(data=test1,out=test2);

/*去除所有label*/

proc datasets lib=output noprint;
        attrib _all_ label=‘‘;
run;

  



  适用于:数据集字段需要批处理,且字段名称无规律,统一rename后方便后续操作。

原文地址:https://www.cnblogs.com/jiulaosan/p/10729468.html

时间: 2024-10-09 02:04:33

SAS 对数据集所有字段rename的相关文章

SAS 操作数据集的观测

SAS  操作数据集的观测 1. SAS表达式 表达式是操作数和操作符的序列,该序列会形成一组可执行并产生 结果值的指令.其中,操作数可以是常量.变量或表达式:操作符是表 示比较.数学计算或逻辑运算的符号,也可以是SAS函数或者括号组. 在SAS程序语句中,创建变量.赋值.求新值.转换变量和执行条件处理都会用到表达式. 1.操作数 操作数可以是常量.变量或表达式.SAS常量是表示一个固定值的 数字或字符串.常量可用作许多SAS语句的表达式,包括变量赋值语句 和IF-THEN语句,还可作为特定选项

Delphi处理数据网格DBGrid的编辑框 获取还没有提交到数据集的字段文本

(*//标题:处理数据网格的编辑框说明:示例添加焦点颜色;获取还没有提交到数据集的字段文本设计:Zswang日期:2002-03-31支持:[email protected]//*) ///////Begin   Sourcefunction   GetDBGridEdit(mDBGrid:   TDBGrid):   TEdit;var    I:   Integer;begin    Result   :=   nil;    if   not   Assigned(mDBGrid)   t

SAS 统计某个数据集各个字段频数,并汇集到一个表中

/*统计表的字段*/ PROC CONTENTS DATA=SASHELP.CLASS NOPRINT OUT=CA(KEEP=NAME); RUN; /*提取表的变量名*/ PROC SQL NOPRINT; SELECT NAME INTO:A SEPARATED BY ' ' FROM CA; RUN; QUIT; %LET I=1; /*计算各个变量的频数,并存放在一个数据集中*/ %MACRO M_A(); PROC FREQ DATA=SASHELP.CLASS; %DO %UNTI

数据集永久字段的Visble 属性为何不起作用

ADOTable,永久字段,已经将visible属性设置为false,设计期,打开数据集,该字段是隐藏了,但是运行时还是显示的!! 原因是,之前持久化了 DBGRID的Coumns,FORM创建又读取了. if FileExists(SoftPath + DBGridColSet) then DBGridLOrder.Columns.LoadFromFile(SoftPath + DBGridColSet);

SAS:提取数据集观测,宏参数

方法一: DATA _NULL_; SET A NOBS=NOBS; CALL SYMPUTX('NUM1',NOBS); STOP; RUN; &NUM1.就是观测数,局部宏参数,供调用 方法二: PROC SQL; SELECT COUNT(*) INTO: NUM2 FROM A; QUIT; &NUM2.:就是观测数,局部宏参数,供调用 一般情况下,两种方法都可以,但是当数据集的观测为零时,方法一就行不通了:

delphi 取得数据集某字段值的六种方法

//取name字段的示例   edit1.Text:=ADOquery1.Fields[2].AsString;   //取得数据表的第二个字段的值 edit2.Text:=ADOquery1.FieldValues['name']; edit3.Text:=ADOquery1['name']; edit4.Text:=ADOquery1.FieldByname('name').AsString;   //以下是设为永久字段时设置的 edit5.Text:=adoquery1name.AsStr

Delphi中JSon SuperObject 使用:数据集与JSON对象互转

在delphi中,数据集是最常用数据存取方式.因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换.值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包含了Delta数据包,其数据格式远比普通的TDataset更复杂. 数据集字段信息,是一个完整的字典信息.因此,我们在JSON必须也建立字典信息,才能创建数据集的字段信息.我们设置其JSON信息如下: COLS:[字段列表信息],如: "Cols":[{"JsonType&quo

sas教程

http://web5.pku.edu.cn/pucssr/SASbiancheng.pdf 本教程中的主题将向您介绍 SAS Enterprise Guide.您最好依次浏览这些主题. 概述 启动项目并浏览主要窗口 向项目添加 SAS 数据 从文本文件导入数据 关于 SAS 任务 创建和修改列表报表 创建条形图 关于"查询生成器" 使用查询连接表 将计算列添加至查询 从查询生成"汇总表" 创建饼图 执行线性模型分析 将多个报表组合成单个文档 使用过程流 更多内容

JSon SuperObject 研究2:数据集与JSON对象互转

JSon SuperObject 研究2:数据集与JSON对象互转 JSON不能完全替代XML,但绝对是未来的大势所趋,其优点是简单.体积小.解析更快.解析占用资源更少.在delphi中,数据集是最常用数据存取方式.因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换.值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包含了Delta数据包,其数据格式远比普通的TDataset更复杂.下面的程序,或许你有不同的想法,如果你的想法更好更快,欢迎一起讨