SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 762|回复: 2
打印 上一主题 下一主题

请教数据集生成以及宏变量的问题,谢谢。

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-11-30 00:37:48 | 只看该作者

请教数据集生成以及宏变量的问题,谢谢。

请教各位,数据步中定义的宏变量用作数据集名的问题。
以下程序想实现的功能是输出data11中符合dataset1中数据值的记录,并以dataset1中数据值加一后缀命名保存。
例:想完成的功能是输出数据集Jack_11包含两条记录99和56,Mark_11包含一条记录78。
下面的程序在数据集命名时出现问题,data &LLIB..&TCN._&MON.;  其中TCN在上一个数据步中定义为dataset1中的值如Jack、Mark。但是用这种形式命名,每次会产生两个数据集,如Jack和_11。而在保存为txt文件时也有问题,文件名为Jack   _11.txt,中间出现了若干个空格。
请教各位如何解决这一问题?有其他能够实现上述功能的方法,也请不吝赐教。谢谢。
[code:1udfjryn]
data dataset1;
input name $;
cards;
Jack
Mark
;
run;

data data11;
input name $ num;
cards;
Jack 99
Mary 88
Mark 78
Jack 56
Ben 98
Jim 66
;
run;
[/code:1udfjryn]

[code:1udfjryn]%let RESP=D:\;  
%let CEN=dataset1;

%let LLIB=work;
%let MON=11;

data _null_;
        set &LLIB..&CEN. end=last;
        if last=1 then do;
                dme=_n_;
                call symput('DME',dme);
        end;
run;
/*%put &DME.;*/

%MACRO DataExtraction;         
%DO NF=1 %TO &DME.;

data _null_;
        set &LLIB..&CEN.;
        if _n_=&NF. then do;
                call symput('TCN',name);
        end;
run;
/*%put &TCN.;*/

data &LLIB..&TCN._&MON.;  
        set &LLIB..Data&MON.;
        if (name="&TCN.");
        drop name;
run;

%let TXTS=&RESP.\&TCN._&MON..TXT;
%let DFO=&LLIB..&TCN._&MON.;

proc sql;
create table datatest
as select num
from &DFO.;
quit;

PROC EXPORT DATA=datatest  
                                OUTFILE= "&TXTS"
                             DBMS=DLM REPLACE;
                                   DELIMITER=' ';
RUN;
%END;
%MEND DataExtraction;

%DataExtraction;[/code:1udfjryn]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-11-30 13:47:00 | 只看该作者

Re: 请教数据集生成以及宏变量的问题,谢谢。

my level is low and I don't quite understand your program, but if all you want is to get rid of some annoying blanks, I do have a way.
Just replace your "call symput('TCN',name);" with "call symputx('TCN',name);", and you'll be fine.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-11-30 17:09:40 | 只看该作者

Re: 请教数据集生成以及宏变量的问题,谢谢。

Thanks, urchin.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 05:23 , Processed in 0.068157 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表