全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4488 2
2011-01-12
刚开始接触SAS代码,到一家新单位,看不懂同事写的SAS代码:

Data FMT;
set custinfo end=last;
RETAIN TYPE "C" FMTNAME "FMT";
START=CUST_ID_NBR;
LABEL='Y';
OUTPUT;
IF LAST THEN DO;
START='';LABEL='';HLO='';OUTPUT;
END;
RUN;
PROC FORMART CNTLIN=FMT;

查了V8教材和sas帮助文件,好像都没明确说明。搞不懂啊,这段代码有什么作用?

retain,type,fmtname有什么作用,为什么要这样写呢?
还有start,label,hlo?

坐等高手解释!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-1-12 15:23:47
这是自定义format的过程,之间的data fmt里面的字段,都是sas规定在自定义format的时候必须要有的字段。

RETAIN TYPE "C" FMTNAME "FMT";
这只是一个retain语句,retain语句在data步的运行过程中,在每一个loop时,阻止pdv中retain变量被赋空值。这个的话,建议你去看一下data步的编译和执行过程,就会容易明白。
type 和 fmtname没什么特别的,就是变量名而已。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-12 16:37:36
"都是sas规定在自定义format的时候必须要有的字段"

好的,我再翻翻v8里面自定义format的内容

谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群