全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2217 4
2013-05-23

数据库如下:
PH_IDQ1Q2Q3Q4Q5Q6Q7Q8Q9Q10
ph1

1

2

3

4

5

6

7

8

9

10

ph2

10

9

8

7

6

5

4

3

2

1

ph3

2

2

2

2

2

2

3

3

3

3

ph4

4

3

3

3

3

3

3

3

3

3

ph5

5

2

2

2

2

2

2

2

2

2

ph6

6

6

6

6

6

6

6

6

6

8

ph7

8

5

5

5

5

5

5

5

5

8

ph8

5

6

2

2

2

2

2

2

2

2



想找到每个PH_ID所对应的QI值最大时所对应的QI名。
也就是当PH_ID=ph1时,Q1-Q10中值最大的是Q10=10。那么生成一个变量max=Q10
          当PH_ID=ph2时,Q1-Q10中值最大的是Q1=10。那么生成一个变量max=Q1
         当PH_ID=ph3时,Q1-Q10中值最大的是Q7-Q10=3。那么生成一个变量max=Q7-Q10
        .......
以此类推。。。

请问各位大虾,如何能够用SAS生成max变量!!十分感谢!!

二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-23 16:55:49
data need;
  set test;
  array _q q1-q10;
  do i=1 to dim(_q);
    if _q(i)=max(of q:) then do;
          max_q=_q(i);
      length var max_q_var $100;
          var=catx(" ",var,vname(_q(i)));
          max_q_var="max="||var;
        end;
  end;
  drop i var;
run;
二维码

扫码加我 拉你入群

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

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

2013-7-5 16:34:50
boe 发表于 2013-5-23 16:55
data need;
  set test;
  array _q q1-q10;
不好意思回复的有点儿晚了。非常感谢高手!
二维码

扫码加我 拉你入群

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

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

2013-7-8 15:19:21
data max_return;
   file "f:/max.txt";
   set max;
   array Q(6) Q1-Q6;
   m=max(of Q1 Q2 Q3 Q4 Q5 Q6);
   do i =1 to 6;
      if Q(i)=m then do;
         var_q=vname(Q(i));
         max_q=PH_ID||"-----"||"max="||var_q||"    ";
         put   MAX_Q @;
      end;
   END;
   if i=7 then put /;
run;
二维码

扫码加我 拉你入群

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

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

2013-7-16 11:14:31
jolterheadmmtt 发表于 2013-7-8 15:19
data max_return;
   file "f:/max.txt";
   set max;
谢谢
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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