SASattrn、fetchobs、varnum、getvarc的解释

SASattrn、fetchobs、varnum、getvarc的解释data test;饰琳琅
input regionstatemonth monyy5. headcnt expenses revenue;
format month monyy5.;
cards;
EASTERN VA FEB78 10 7800 15500
itshidden
SOUTHERN FL MAR78 9 9800 13500
SOUTHERN GA JAN78 5 2000 8000
NORTHERN MA MAR78 3 1500 1000
SOUTHERN FL FEB78 10 8500 11000
NORTHERN NY MAR78 5 6000 5000
EASTERN VA MAR78 11 8200 16600
PLAINS NM MAR78 2 1350 500
SOUTHERN FL JAN78 10 8000 10000
NORTHERN NY FEB78 4 3000 4000
SOUTHERN GA FEB78 7 1200 6000
;
run;
%macro test;
我是凡客data ttest;
%let dsid=%sysfunc(open(test));
山东省地震预警管理办法施行日期%if &dsid gt 0 %then %do;
%let nobs=%sysfunc(attrn(&dsid,nobs));
%do i=1 %to &nobs;
%let rc=%sysfunc(fetchobs(&dsid,&i));
%let varnume=%sysfunc(varnum(&dsid,region));
%let variable=%sysfunc(getvarc(&dsid,&varnume));
%put "&dsid";
%put "&nobs";
陈运泰%put "&rc";
%put "&varnume";
%put "&variable";
%put *****************;
%end;
%let rc=%sysfunc(close(&dsid));
%end;
run;
%mend test;
%let varnume=%sysfunc(varnum(&dsid,region));/*varnum是返回变量region的位置,在这变量region是第j列,所以varnume的值为j*/
%let rc=%sysfunc(fetchobs(&dsid,&i));/*读取指定的第i条观测,若成功则返回0,返回-1表⽰已读取完所有观测 。
%let variable=%sysfunc(getvarc(&dsid,&varnume));/*getvarc是将第i条观测的第j(因为varnume的值为j)个变量的值赋给variable,此外getvarc是针对读取字符型的变量,getvarn是针对读取数值型的变量*/                                    注:getvarc要配合fetchobs使
⽤,fetchobs控制读取值所在的观测数。
忏悔录奥古斯丁另外
Open⽤来打开⼀个数据集并返回⼀个⾮零的描述符,参数I表⽰input(read only);
Attrn函数⽤来获取相应数据集的指定数值类型的信息(attrc⽤于获取指定的字符型信息),可⽤attrn函数计算⾏数列数。例如:
%let dsid=%sysfunc(open(sashelp.class,i));
%let n=%sysfunc(attrn(&dsid,nobs));  /*注:计算列数⽤nvars*/
%let rc=%sysfunc(close(&dsid));
%put obsnum=&n;
Close函数⽤于关闭数据集。

本文发布于:2024-09-21 00:43:32,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/505546.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   指定   变量   读取   返回   函数   数值
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议