全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3473 10
2013-08-02
悬赏 20 个论坛币 已解决
如题,例如我有数据库a,变量b,它的 label 叫做c。

%macro m(n);
%let abc=&n;
(如何取得b的标签c,将它存为一个宏变量,例如x)
%put x=&x;(则显示“x=c”)
%mend;

谢谢:)



最佳答案

pobel 查看完整内容

data a; b=1; label b='C'; run; data _null_; if 0 then set a; call symputx('x',vlabel(b)); stop; run; %put x=&x;
二维码

扫码加我 拉你入群

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

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

全部回复
2013-8-2 18:53:36
data a;
  b=1;
  label b='C';
run;

data _null_;
   if 0 then set a;
   call symputx('x',vlabel(b));
   stop;
run;
%put x=&x;
二维码

扫码加我 拉你入群

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

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

2013-8-2 20:51:29
data test;
        label b = "TestLabel";
        b = "test";
run;

%macro getlabel(dsin=,var=);
        %let dsid=%sysfunc(open(&dsin.,i));
        %if &dsid %then %do;
              %let vlabel=%sysfunc(varlabel(&dsid, %sysfunc(varnum(&dsid,&var.))));
                %let rc=%sysfunc(close(&dsid));
               %end;
        %put &vlabel;
%mend;

%getlabel(dsin=test,var=b);
二维码

扫码加我 拉你入群

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

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

2013-8-3 10:40:33
pobel 发表于 2013-8-2 20:44
data a;
  b=1;
  label b='C';
正解。我想追问两个问题:

1.if 0 ... 是什么意义呢?

2.能否给我点一下stop是干什么?
二维码

扫码加我 拉你入群

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

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

2013-8-4 09:45:33
Tigflanker 发表于 2013-8-3 10:40
正解。我想追问两个问题:

1.if 0 ... 是什么意义呢?
if 0 then set 是让sas不去读取数据集中的记录。
stop 是让sas停止这个data步的运行。
二维码

扫码加我 拉你入群

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

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

2013-8-5 09:28:31
pobel 发表于 2013-8-4 09:45
if 0 then set 是让sas不去读取数据集中的记录。
stop 是让sas停止这个data步的运行。
谢谢,stop我明白了,非常精细,我还是有些不是特别明白的是:if 0。这个0是定式还是什么?我的意思是:那么if 1,if 2行不行呢?因为我觉得0是代表布尔的否定,if 0给人一种感觉直接否定了。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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