全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1216 3
2020-12-18
数据是:
ID Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10
291192 A C C B D E D B B A
593137 B C C E E D B A A
721311 A C C B D D E B B C
345221 B C C A D B B C A D
193920 A C C B E E D B B A
257672 B C C B D D D B B A
357899 C C C B E E E B B A
564332 A C C B E E D B B A
111033 A C B D D D B B A
445732 C C C C E E D B B B
824610 B B E B E E D B B A
774235 A C C B E E D B B A
943244 C C C B E E D B B A
647893 A C C B E E E B B A
432118 A C C B E E D B B A
正确答案是:A C C B E E D B B A
前5个问题对一个1分,后五个对一个2分。写一个宏函数,计算每个人对了多少个以及得了多少分。
二维码

扫码加我 拉你入群

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

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

全部回复
2020-12-18 14:10:04
transpose 之后和正确答案merge
二维码

扫码加我 拉你入群

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

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

2020-12-23 19:15:44
一定要写宏么,是的话可以换个做法,不写宏的话下面这个够了
proc sql noprint;
create table result as
        select *
                        ,(case when q1='A' then 1 else 0 end)
                        +(case when q2='C' then 1 else 0 end)
                        +(case when q3='C' then 1 else 0 end)
                        +(case when q4='B' then 1 else 0 end)
                        +(case when q5='E' then 1 else 0 end)
                        +(case when q6='E' then 2 else 0 end)
                        +(case when q7='D' then 2 else 0 end)
                        +(case when q8='B' then 2 else 0 end)
                        +(case when q9='B' then 2 else 0 end)
                        +(case when q10='A' then 2 else 0 end)
                        as score
                        ,(case when q1='A' then 1 else 0 end)
                        +(case when q2='C' then 1 else 0 end)
                        +(case when q3='C' then 1 else 0 end)
                        +(case when q4='B' then 1 else 0 end)
                        +(case when q5='E' then 1 else 0 end)
                        +(case when q6='E' then 1 else 0 end)
                        +(case when q7='D' then 1 else 0 end)
                        +(case when q8='B' then 1 else 0 end)
                        +(case when q9='B' then 1 else 0 end)
                        +(case when q10='A' then 1 else 0 end)
                        as correct
from data
;
quit;
二维码

扫码加我 拉你入群

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

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

2020-12-24 11:56:49
数组就解决了。。。
复制代码

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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