楼主: daie3000
1178 2

[原创博文] 求助高手:谢谢!!! [推广有奖]

  • 0关注
  • 0粉丝

已卖:260份资源

大专生

20%

还不是VIP/贵宾

-

威望
0
论坛币
588 个
通用积分
0.2400
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
512 点
帖子
31
精华
0
在线时间
42 小时
注册时间
2008-8-25
最后登录
2019-1-14

楼主
daie3000 发表于 2010-7-21 16:30:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
需求:有两张表,一张名为‘riskmap’是全国各省数据,另一张名为‘location’是地区机构表(三个字段,一是省名location,二是省号location_code(顺序号),三是省下面地市名locaiton_son),现在需要生成各地市的数据,完全复制其所属省份的数据,以下SAS程序请高手看哪里有问题??

%macro change();                                                                                                                        
%let a=1;                                                                                                                              
%do %until(&a.>22);                                                                                                                     
   proc sql noprint;                                                                                                                    
   select distinct location                                                                                                            
   into:loc                                                                                                                             
   from location                                                                                                                       
   where location_code=&a.;                                                                                                            
   quit;                                                                                                                                
                                                                                                                                       
   data locson;                                                                                                                        
   set location(where=(location=&loc.));                                                                                               
   quit;                                                                                                                                
                                                                                                                                       
   data _null_;                                                                                                                        
   set locson nobs=b;                                                                                                                  
   %let c=b;                                                                                                                           
   quit;                                                                                                                                
                                                                                                                                       
   data risk;                                                                                                                           
   set riskmap(where=(location=&loc.));                                                                                                
   quit;                                                                                                                                
                                                                                                                                       
   %let d=1;                                                                                                                           
   %do %until(&d.>&c.);                                                                                                                 
       proc sql noprint;                                                                                                               
       select location_son                                                                                                              
       into:lson                                                                                                                        
       from locson                                                                                                                     
       where _n_=&d.;                                                                                                                  
       quit;                                                                                                                           
                                                                                                                                       
       data map&a.&d.;                                                                                                                  
       set risk;                                                                                                                        
       location=symget("lson");                                                                                                         
       quit;                                                                                                                           
                                                                                                                                       
       proc append base=null data=map&a.&d.;                                                                                            
       quit;                                                                                                                           
                                                                                                                                       
       &d+1;                                                                                                                           
   %end;                                                                                                                                
                                                                                                                                       
   &a+1;                                                                                                                                
%end;                                                                                                                                   
%mend change;                                                                                                                           
                                                                                                                                       
%change;
二维码

扫码加我 拉你入群

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

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

关键词:求助高手 Location proc sql Distinct cation change 程序 机构

沙发
BraveMadMan 发表于 2010-7-21 21:58:26
发点样本数据?
Don't get lost in technical details. What is the big picture?

藤椅
hopewell 发表于 2010-7-23 15:21:49
  1. data _null_;
  2.    set locson nobs=b;
  3.    %let c=b;
  4. quit;
复制代码
这是想用macro variable c存储sas data set locson的obs的数量?
1 用call symputx()替换%let语句
2 用run;替换quit;
其他内容没看懂

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 17:56