全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
21629 15
2014-12-07
data _null_;
   set orion.customer;
   call symputx('name'||left(Customer_ID), customer_Name);
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-7 23:04:57
望好心人或者懂得人,解释一下红色部分,全部的程序如下:
data _null_;
   set orion.customer;
   call symputx('name'||left(Customer_ID), customer_Name);
run;

%let custID=9;

proc print data=orion.order_fact;
   where customer_ID=&custID;
   var order_date order_type quantity total_retail_price;
   title1 "Customer Number: &custID";
   title2 "Customer Name: &name9";
run;
二维码

扫码加我 拉你入群

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

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

2014-12-7 23:22:02
我就知道symput得到的字符串前后是带空格的,一般要在之后再用%let定义一下去掉空格
symputx得到的是去掉前后空格的字符串,大神们可能比较喜欢这个
二维码

扫码加我 拉你入群

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

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

2014-12-8 04:24:13
Call symputx还有第三个参数,指定该宏变量存储为global或者local变量
二维码

扫码加我 拉你入群

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

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

2014-12-8 10:46:18
CALLSYMPUT () / CALL SYMPUTX ()

CALLSYMPUT () 和CALL SYMPUTX ()可以实现在DATA步的执行过程中创建宏变量。二者的主要区别在于CALL SYMPUTX ()会将第二个参数值前面和后面的空格去掉;并且CALL SYMPUTX ()有第三个参数来限定宏变量存放的位置。

Reference : https://bbs.pinggu.org/thread-2845461-1-1.html
二维码

扫码加我 拉你入群

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

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

2014-12-9 11:45:16
symputx 会把产生的宏变量里面的值的尾部多余的空格去掉,一般都用这个比较好
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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