SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

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

问一个关于macro variable的问题,急

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-8-13 13:18:02 | 只看该作者

问一个关于macro variable的问题,急

我有一个txt file,格式如下
ID   var1 var2 var3.............var1000
1     dfs    kjd  2                     09
2      ii       j    1                     0
3      1       jo   1                     10
..
.
100

我现在想要在SAS里通过‘infile’读入这个file,问题是如何输入variables的名字?可否做一个macro variable出来,可以把所有的variable names全部都放进去,这样我在‘input’的时候只有写 input &macro 就可以了,而不需要把所有的variable names都type出来。当然上面的file只是我举得一个例子,实际上每个variable并不叫var1,var2等等,而是各有不同的名字。该如何建立这样一个macro variable?

谢谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-11-22 05:32:10 | 只看该作者

Re: 问一个关于macro variable的问题,急

[code:pxioysmy]
data varlist;
        input varname $;
        datalines;
        age  
    height
        weight
        ;
run;

proc sql;
        select varname into: _varname separated by ' '
        from varlist
        ;
run;

proc means data=sashelp.class;
        var &_varname;
run;
[/code:pxioysmy]
回复 支持 反对

使用道具 举报

0

主题

0

帖子

2

积分

新手上路

Rank: 1

积分
2
板凳
发表于 2010-11-22 09:37:52 | 只看该作者

Re: 问一个关于macro variable的问题,急

写过一个全部当字符读入的~~
[code:ktleeqcp]
data varlist;
    infile "&filepath.\&fullname" delimiter='09'x DSD obs=1 lrecl=32767;
    format var $30.;
        informat var $30.;
        input var $ @@;  
   run;  
proc sql noprint;
select
var, var into
: dollar1  separated by " $100. ",
: dollar2  separated by " $ "
from  varlist ;
quit;
data &outset;
    infile "&filepath.\&fullname" delimiter='09'x dsd lrecl=32767 FIRSTOBS=2 MISSOVER;
    format  &dollar1 $100. ;
    informat &dollar1 $100. ;
    input &dollar2 $;
run;
[/code:ktleeqcp]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-3 20:06 , Processed in 0.067415 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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