全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7898 24
2014-04-21
悬赏 10 个论坛币 已解决
本人是这个学期刚刚接触SAS,对这道题一直无法搞清楚。第一次到这个论坛上,希望高手们能帮一帮我把这个程序编出来。
题是英文题,如有人愿意帮忙但需要中文的话,请回复告知我,我会把题翻成中文。

题:
程序是用来统计和分类这个格式的数据:
K2EMN@591@MANEC 300 @3.0@B @
K2EMN@591@MATH  113 @4.0@C @
K2EMN@591@STAT  322 @1.0@P @
K2EMN@591@STAT  334 @3.0@A-@
K2EMN@591@STAT  336 @3.0@B @
MPCGK@591@ECON  110 @3.0@C+@
MPCGK@591@STAT  321 @3.0@B+@
MPCGK@591@STAT  322 @1.0@P @
MPCGK@591@STAT  361 @3.0@C+@
MPCGK@591@STAT  520 @3.0@C-@
NPMCS@591@COMMS 101 @2.0@A-@
NPMCS@591@COMMS 201 @2.0@B+@
NPMCS@591@COMMS 255 @3.0@A-@
NPMCS@591@PHY S 100 @3.0@B-@
NPMCS@591@PL SC 110 @3.0@B+@
NPMCS@591@REL A 301 @2.0@A-@
P2I8P@591@A HTG 100 @3.0@B @
学生号@学期号@课程名字@课程所值学分@该学生此课的字母成绩@学生姓名(有的数据文档有学生姓名,有的没有)

这些数据是以txt形式储存起来的文档,共有56个。要求是程序通过MACRO,只需要载入不同文件名,就可以把56个文档里的资料逐个统计分类。

制作4个HTML格式的报告:
报告1
       按学期号分类后:
       再按学生号分类:
              计算并输出每个学生该学期的平均GPA成绩(比如说最后一个学生NPMCS,他在591学期的平均GPA是3.5)
              GPA的换算方法是把字母成绩换成数字:带A的都是4,带B的3,C是2,D是1,E是0,其他字母全部忽略不记。

              计算并输出每个学生该学期获得的总学分(比如说最后一个学生NPMCS,他在591学期的学分是15)
              计算并输出每个学生该学期获得的总学分(真),但是如果课程没有得到ABCD的成绩,就不计入总学分。

              根据每个学生的总学分,如果小于等于26,标注该学生为1年级(F)
               根据每个学生的总学分,如果大于等于27小于等于56,标注该学生为2年级(S)
               根据每个学生的总学分,如果大于等于57小于等于86,标注该学生为3年级(J)
               根据每个学生的总学分,如果大于等于87,标注该学生为4年级(Sn)
              计算并输出每个学生该学期上了多少课。(NPMCS在591学期上了6课)

              计算并输出该学期每一个学生有多少个课的字母成绩是A
              计算并输出该学期每一个学生有多少个课的字母成绩是B
              计算并输出该学期每一个学生有多少个课的字母成绩是C
               计算并输出该学期每一个学生有多少个课的字母成绩是D
               计算并输出该学期每一个学生有多少个课的字母成绩显示的是W
               计算并输出该学期每一个学生有多少个课的字母成绩显示的是E,UW,WE,或IE
              根据课程名字,计算并输出每个学生是否有在同一个学期上两次以上相同的课。重课了多少次?
              
报告2
       按学期号分类后:
                计算并输出该学期所有学生的总平均GPA成绩
              GPA的换算方法是把字母成绩换成数字:带A的都是4,带B的3,C是2,D是1,E是0,其他字母全部忽略不记

              计算并输出该学期所有学生获得的总平均学分
              计算并输出该学期所有学生获得的总学分(真)(如果课程没有得到ABCD的成绩,就不计入总学分)

              计算并输出该学期一共有多少个课的字母成绩是A(不用按学生号分类)
              计算并输出该学期一共有多少个课的字母成绩是B(不用按学生号分类)
              计算并输出该学期一共有多少个课的字母成绩是C(不用按学生号分类)
               计算并输出该学期一共有多少个课的字母成绩是D(不用按学生号分类)
               计算并输出该学期一共有多少个课的字母成绩显示的是W(不用按学生号分类)
               计算并输出该学期一共有多少个课的字母成绩显示的是E,UW,WE,或IE(不用按学生号分类)

             重复以上内容,不过只计算课程缩写是STAT和MATH的数据(就是只统计统计学和数学课程的数据)

REPORT 3

   根据报告1中每个学生的平均GPA成绩,列出成绩名列前10%的学生的名字(学生号)
  比如说,举例的数据组中共有4个学生,那么该数据组的报告3就列出该4人中平均GPA成绩最高的那个人(NPMCS)
  计算10%是多少人时,小于1则取1.

   根据报告1中每个学生的所有学期算下来的总学分,计算并输出有多少个学生的学分在60-130之间。

REPORT 4
   根据报告1中每个学生的平均GPA成绩,列出成绩名列前10%的学生的名字(学生号)
  根据报告1中每个学生的所有学期算下来的总学分,计算并列出有多少学生学习了至少20个学分的统计学课(课程缩写:STAT)或数学课(课程缩写:MATH)


最好有:
   1.  运用MACRO减少重复的程序组
   2.  运用PROC SQL
   3.  运用 PROC REPORT
   4.  运用ODS去创建网页形式的报告
   5.  用Array去简化程序

编的程序最后运行的话,打出来的是4个report。
如有问题,敬请提问。非常感谢愿意帮助我的人。
因为刚到这个论坛,没有多少币,只能全押上了>.<

GPA Grade Data.zip

大小:64.67 KB

 马上下载

本附件包括:

  • 190.txt
  • 191.txt
  • 192.txt
  • 276.txt
  • 283.txt
  • 284.txt
  • 285.txt
  • 286.txt
  • 287.txt
  • 288.txt
  • 289.txt
  • 290.txt
  • 291.txt
  • 292.txt
  • 378.txt
  • 383.txt
  • 384.txt
  • 385.txt
  • 386.txt
  • 387.txt
  • 388.txt
  • 389.txt
  • 390.txt
  • 391.txt
  • 392.txt
  • 574.txt
  • 575.txt
  • 576.txt
  • 577.txt
  • 578.txt
  • 579.txt
  • 581.txt
  • 582.txt
  • 583.txt
  • 584.txt
  • 585.txt
  • 586.txt
  • 587.txt
  • 588.txt
  • 589.txt
  • 590.txt
  • 591.txt
  • 592.txt
  • 175.txt
  • 176.txt
  • 177.txt
  • 179.txt
  • 180.txt
  • 182.txt
  • 183.txt
  • 184.txt
  • 185.txt
  • 186.txt
  • 187.txt
  • 188.txt
  • 189.txt

最佳答案

mingfeng07 查看完整内容

只输出了report1,后面基本上可以按照类似的编程可以做出来。另外report1中关于不用按学生号分类来求每个学生的字母成绩的重复率这一部分不太理解,一般如果计算每个学生的话都会按照每个学生的代号来首先分类然后再求解,所以这段我忽略了。
二维码

扫码加我 拉你入群

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

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

全部回复
2014-4-21 05:20:11
只输出了report1,后面基本上可以按照类似的编程可以做出来。另外report1中关于不用按学生号分类来求每个学生的字母成绩的重复率这一部分不太理解,一般如果计算每个学生的话都会按照每个学生的代号来首先分类然后再求解,所以这段我忽略了。
复制代码
二维码

扫码加我 拉你入群

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

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

2014-4-21 09:31:31
有人愿意帮忙吗?怎么用Macro,Proc format和loop来完成成绩的分类统计呢?
二维码

扫码加我 拉你入群

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

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

2014-4-21 09:39:58
你把四个报告的内容,用中文阐述一下吧,看不太明白。
二维码

扫码加我 拉你入群

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

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

2014-4-21 10:40:30
已经全部翻译成中文,谢谢!
二维码

扫码加我 拉你入群

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

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

2014-4-21 12:57:47
这题目貌似有很多问题:
1、字母成绩的值有哪几种,需要完全告知大家。
2、居然要你统计每个学期每个学生重复课有几次,那么也就是说你的数据源头中可能有某个学期一个学生上同一门课n多次,那么相应也可能有n多次的成绩,那么统计总分的时候是仅统计n次中的某次,还是把n次的成绩全部相加

以上是我看了你报告1的题目,所提出的疑问,后面的报告2-4还没看。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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