全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4737 13
2014-08-01
悬赏 10 个论坛币 已解决
0OV8@61KA3Q)08(3R{U]W%H.jpg

原图尺寸 12.65 KB

0OV8@61KA3Q)08(3R{U]W%H.jpg

最佳答案

sas9.4 查看完整内容

data a; input b; cards; 3 4 6 1 3 ; run; proc sort data=a out=b (rename=(b=b_ordered)); by b ; run; data _null_ ; merge a b end=eof; if b= b_ordered then do; if eof then call symputx("maxvar", b); end; else do; call symputx("maxvar", 'NOT by ascending order!!!!'); stop; end; run; %put &maxvar ;
二维码

扫码加我 拉你入群

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

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

全部回复
2014-8-1 15:32:11
data a;
input b;
cards;
3
4
6
1
3
;
run;
proc sort data=a out=b (rename=(b=b_ordered));
  by b ;
run;
data _null_ ;
  merge a b end=eof;
   if b= b_ordered then do;
     if eof then call symputx("maxvar", b);
   end;
   else do;
   call symputx("maxvar", 'NOT by ascending order!!!!');
   stop;
   end;
run;

%put &maxvar ;
二维码

扫码加我 拉你入群

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

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

2014-8-1 16:17:12
建立_null_数据集;
set 表(保留b变量)  数据集到底标记设定;
retain 临时变量1 临时变量2  临时变量3;
若是第一条记录那么临时变量1和2均为b的值临时变量3=1;
否则判断临时变量1
是否小于b,若真,则临时变量3=0,将临时变量3赋给红变量(是否按照升徐排列),跳出data步。
判断是否数据集到底,且临时变量3=1,若是将临时变量3赋给红变量(是否按照升徐排列),且将临时变量2赋给红变量c(最大值)
二维码

扫码加我 拉你入群

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

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

2014-8-1 16:42:12
二楼是冒泡法么?不过对楼主有个疑问,与其花时间去判断是否是按升序排列,你为什么不直接运行个
proc sort data=; by; run;呢?
二维码

扫码加我 拉你入群

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

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

2014-8-1 16:46:23
复制代码
二维码

扫码加我 拉你入群

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

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

2014-8-1 20:27:44
freerunning_sky 发表于 2014-8-1 16:46
你这个逻辑有问题的,如果最后一行正好是最大值,而前面没有按照升序排列就不对了
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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