楼主: Dylan890328
3191 8

[程序分享] SAS基础作业题重金悬赏!求程序 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

36%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
3 点
热心指数
0 点
信用等级
0 点
经验
931 点
帖子
76
精华
0
在线时间
184 小时
注册时间
2010-9-15
最后登录
2022-6-22

楼主
Dylan890328 发表于 2010-9-30 08:12:02 |AI写论文
10论坛币
SAS作业重金悬赏!求作业4的程序(需要用到作业2和3的数据)。本人刚接触SAS几天,纯基础作业题,用官方教材SAS  CERTIFICATION PREP GUIDE BASE 的前半部分知识即可

HOMEWORK 3的 DATASETS:

data employees;
input lname $ fname $ month $ sales;
datalines;
Jones Ted Jan 28500
Jones Ted Feb 31200
Jones Ted Mar 14500
Jones Ted Apr 23000
Jones Ted May 42670
Jones Ted Jun 52000
Jones Ted Jul 1200
Jones Ted Aug 13000
Jones Ted Sep 19500
Jones Ted Oct 18430
Jones Ted Nov 19230
Jones Ted Dec 68201
Hall Kim Jan 12500
Hall Kim Feb 13400
Hall Kim Mar 17800
Hall Kim Apr 21200
Hall Kim May 23900
Hall Kim Jun 24100
Hall Kim Jul 25200
Hall Kim Aug 23950
Hall Kim Sep 22200
Hall Kim Oct 21090
Hall Kim Nov 18040
Hall Kim Dec 14210
Clark Guy Jan 32101
Clark Guy Feb 43001
Clark Guy Mar 29050
Clark Guy Apr 25010
Clark Guy May 22999
Clark Guy Jun 20500
Clark Guy Jul 21100
Clark Guy Aug 23400
Clark Guy Sep 27890
Clark Guy Oct 31090
Clark Guy Nov 52300
Clark Guy Dec 41230
Call Steve Jan 12090
Call Steve Feb 10901
Call Steve Mar 9080
Call Steve Apr 8541
Call Steve May 7521
Call Steve Jun 5300
Call Steve Jul 2510
Murphy Cori Jul 5700
Murphy Cori Aug 6900
Murphy Cori Sep 10200
Murphy Cori Oct 12050
Murphy Cori Nov 26800
Murphy Cori Dec 25963
Love Sue Jun 4800
Love Sue Jul 6900
Love Sue Aug 9500
Love Sue Sep 13420
Love Sue Oct 17890
Love Sue Nov 21090
Love Sue Dec 22500
;
HOMEWORK 2的 DATASETS:

data employees;
input lname $ fname $ age job $ gender $;
datalines;
Smith Al 55 Man M
Jones Ted 38 SR2 M
Hall Kim 22 SR1 M
Jones Kim 19 Sec F
Clark Guy 31 SR1 M
Grant Herbert 51 Jan M
Schmidt Henry 62 Mec M
Allen Joe 45 Man M
Call Steve 43 SR2 M
McCall Mac 26 Sec F
Sue Joe 25 Mec F
Murphy Cori 21 SR1 F
Love Sue 27 SR2 F


作业4的问题:Assignment
Using the data sets from the second and third homework assignments, fi nd the total annual sales for each
representative and merge it to the employee information. Call the new dataset salessum.
In the new dataset created have only the name, position, and annual sales for each sales representative.
(Each representative should only be in this data set once.) Present the data in PROC REPORT.
The output should be given in an HTML document. Provide the code, log, and output. HW2.pdf (55.51 KB) HW3_1.pdf (30.34 KB) [attach]759068[/attach

HW4_1.pdf
下载链接: https://bbs.pinggu.org/a-759068.html

23.01 KB

作业4原本

最佳答案

关键词:sas基础 重金悬赏 作业题 assignments proc report employees 程序 知识

沙发
hopewell 发表于 2010-9-30 08:12:03
Homework #4
  1. data sales;
  2.     input lname $ fname $ month $ sales;
  3. datalines;
  4. Jones Ted Jan 28500
  5. Jones Ted Feb 31200
  6. Jones Ted Mar 14500
  7. Jones Ted Apr 23000
  8. Jones Ted May 42670
  9. Jones Ted Jun 52000
  10. Jones Ted Jul 1200
  11. Jones Ted Aug 13000
  12. Jones Ted Sep 19500
  13. Jones Ted Oct 18430
  14. Jones Ted Nov 19230
  15. Jones Ted Dec 68201
  16. Hall Kim Jan 12500
  17. Hall Kim Feb 13400
  18. Hall Kim Mar 17800
  19. Hall Kim Apr 21200
  20. Hall Kim May 23900
  21. Hall Kim Jun 24100
  22. Hall Kim Jul 25200
  23. Hall Kim Aug 23950
  24. Hall Kim Sep 22200
  25. Hall Kim Oct 21090
  26. Hall Kim Nov 18040
  27. Hall Kim Dec 14210
  28. Clark Guy Jan 32101
  29. Clark Guy Feb 43001
  30. Clark Guy Mar 29050
  31. Clark Guy Apr 25010
  32. Clark Guy May 22999
  33. Clark Guy Jun 20500
  34. Clark Guy Jul 21100
  35. Clark Guy Aug 23400
  36. Clark Guy Sep 27890
  37. Clark Guy Oct 31090
  38. Clark Guy Nov 52300
  39. Clark Guy Dec 41230
  40. Call Steve Jan 12090
  41. Call Steve Feb 10901
  42. Call Steve Mar 9080
  43. Call Steve Apr 8541
  44. Call Steve May 7521
  45. Call Steve Jun 5300
  46. Call Steve Jul 2510
  47. Murphy Cori Jul 5700
  48. Murphy Cori Aug 6900
  49. Murphy Cori Sep 10200
  50. Murphy Cori Oct 12050
  51. Murphy Cori Nov 26800
  52. Murphy Cori Dec 25963
  53. Love Sue Jun 4800
  54. Love Sue Jul 6900
  55. Love Sue Aug 9500
  56. Love Sue Sep 13420
  57. Love Sue Oct 17890
  58. Love Sue Nov 21090
  59. Love Sue Dec 22500
  60. ;
  61. data employees;
  62.     input lname $ fname $ age job $ gender $;
  63.     format job job_fmt.;
  64. datalines;
  65. Smith Al 55 Man M
  66. Jones Ted 38 SR2 M
  67. Hall Kim 22 SR1 M
  68. Jones Kim 19 Sec F
  69. Clark Guy 31 SR1 M
  70. Grant Herbert 51 Jan M
  71. Schmidt Henry 62 Mec M
  72. Allen Joe 45 Man M
  73. Call Steve 43 SR2 M
  74. McCall Mac 26 Sec F
  75. Sue Joe 25 Mec F
  76. Murphy Cori 21 SR1 F
  77. Love Sue 27 SR2 F
  78. ;
  79. proc sql;
  80.     create table salessum as
  81.         select catx(' ',a.lname,a.fname) as Name format=$20.,
  82.                job label='Persion',
  83.                b.sales label='Total Annual Sales'
  84.             from employees a left join
  85.                 (select lname, fname, sum(sales) as sales from sales
  86.                     group by lname, fname) b
  87.                 on a.lname=b.lname and a.fname=b.fname
  88.             where job like 'SR_'
  89.             order by name;
  90. quit;
  91. ods _all_ close;
  92. ods html path='d:\' body='test2.hmtl';
  93. proc report data=salessum nowd headline;
  94.     column job name sales;
  95.     define job / order;
  96.     define name / display;
  97.     define sales / analysis format=comma10.;
  98.     break after job / ol ul summarize;
  99.     rbreak after / dol dul summarize;
  100. run;
  101. ods _all_ close;
  102. ods listing;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Dylan890328 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
soporaeternus 发表于 2010-9-30 09:06:12
这个太赤裸裸了吧,据说坛子里有老师的啊......
Let them be hard, but never unjust

板凳
Dylan890328 发表于 2010-9-30 09:28:51
2# soporaeternus 呵呵~我在美国读书,我就不信我那个连半句中文都不会的老师回来逛这里

报纸
soporaeternus 发表于 2010-9-30 09:32:35
{:4_205:}{:4_205:}
Let them be hard, but never unjust

地板
hopewell 发表于 2010-9-30 09:45:07
Homework #2
  1. data fmt;
  2.     retain fmtname 'job_fmt' type 'c';
  3.     input start $3. label $ 1-20;
  4. datalines;
  5. SR1 Sales Rep 1
  6. SR2 Sales Rep 2
  7. Man Manager
  8. Sec Secretary
  9. Jan Janitor
  10. Mec Mechanic
  11. ;
  12. proc format cntlin=fmt;
  13. run;
  14. data employees;
  15.     input lname $ fname $ age job $ gender $;
  16.     format job job_fmt.;
  17. datalines;
  18. Smith Al 55 Man M
  19. Jones Ted 38 SR2 M
  20. Hall Kim 22 SR1 M
  21. Jones Kim 19 Sec F
  22. Clark Guy 31 SR1 M
  23. Grant Herbert 51 Jan M
  24. Schmidt Henry 62 Mec M
  25. Allen Joe 45 Man M
  26. Call Steve 43 SR2 M
  27. McCall Mac 26 Sec F
  28. Sue Joe 25 Mec F
  29. Murphy Cori 21 SR1 F
  30. Love Sue 27 SR2 F
  31. ;
  32. proc sort data=employees;
  33.     by job;
  34. run;
  35. proc print data=employees;
  36.     by job;
  37.     id job;
  38. run;
复制代码
已有 1 人评分热心指数 信用等级 收起 理由
Dylan890328 + 1 + 1 第4题即可

总评分: 热心指数 + 1  信用等级 + 1   查看全部评分

7
novice505 发表于 2010-9-30 10:00:17
冒死回复
假设作业3和作业2的数据集名分别为employee3和employee2.
proc sort data=employees3 out=out3;
        by lname fname;
proc sort data=employees2 out=out2;
        by lname fname;
data total;       
        set out3;
        by lname  fname;
        retain total 0;
        if first.fname then total=sales;
        else total+sales;
        if last.fname;
data new;
        merge total out2;
        by lname fname;
        if total ne .;
        keep lname fname job total;
ods html body='d:\new.html';
proc report data=new nowindows;
        column lname fname job total;
run;
ods html close;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Dylan890328 + 1 + 1 + 1 好的意见建议

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

8
hopewell 发表于 2010-9-30 10:39:39
Homework #3
  1. data employees;
  2.     input lname $ fname $ month $ sales;
  3. datalines;
  4. Jones Ted Jan 28500
  5. Jones Ted Feb 31200
  6. Jones Ted Mar 14500
  7. Jones Ted Apr 23000
  8. Jones Ted May 42670
  9. Jones Ted Jun 52000
  10. Jones Ted Jul 1200
  11. Jones Ted Aug 13000
  12. Jones Ted Sep 19500
  13. Jones Ted Oct 18430
  14. Jones Ted Nov 19230
  15. Jones Ted Dec 68201
  16. Hall Kim Jan 12500
  17. Hall Kim Feb 13400
  18. Hall Kim Mar 17800
  19. Hall Kim Apr 21200
  20. Hall Kim May 23900
  21. Hall Kim Jun 24100
  22. Hall Kim Jul 25200
  23. Hall Kim Aug 23950
  24. Hall Kim Sep 22200
  25. Hall Kim Oct 21090
  26. Hall Kim Nov 18040
  27. Hall Kim Dec 14210
  28. Clark Guy Jan 32101
  29. Clark Guy Feb 43001
  30. Clark Guy Mar 29050
  31. Clark Guy Apr 25010
  32. Clark Guy May 22999
  33. Clark Guy Jun 20500
  34. Clark Guy Jul 21100
  35. Clark Guy Aug 23400
  36. Clark Guy Sep 27890
  37. Clark Guy Oct 31090
  38. Clark Guy Nov 52300
  39. Clark Guy Dec 41230
  40. Call Steve Jan 12090
  41. Call Steve Feb 10901
  42. Call Steve Mar 9080
  43. Call Steve Apr 8541
  44. Call Steve May 7521
  45. Call Steve Jun 5300
  46. Call Steve Jul 2510
  47. Murphy Cori Jul 5700
  48. Murphy Cori Aug 6900
  49. Murphy Cori Sep 10200
  50. Murphy Cori Oct 12050
  51. Murphy Cori Nov 26800
  52. Murphy Cori Dec 25963
  53. Love Sue Jun 4800
  54. Love Sue Jul 6900
  55. Love Sue Aug 9500
  56. Love Sue Sep 13420
  57. Love Sue Oct 17890
  58. Love Sue Nov 21090
  59. Love Sue Dec 22500
  60. ;
  61. proc report data=employees nowd headline;
  62.     column lname fname month sales;
  63.     define lname / order;
  64.     define fname / order;
  65.     define month / display;
  66.     define sales / analysis sum format=comma10.;
  67.     break after lname / ol ul summarize suppress skip;
  68.     rbreak after / dol dul summarize;
  69. run;
  70. ods _all_ close;
  71. ods html path='d:\' body='test.hmtl';
  72. proc report data=employees nowd headline;
  73.     column lname fname sales;
  74.     define lname / group;
  75.     define fname / group;
  76.     define sales / format=comma10.;
  77.     rbreak after / dol dul summarize;
  78. run;
  79. ods _all_ close;
  80. ods listing;
复制代码
已有 1 人评分热心指数 信用等级 收起 理由
Dylan890328 + 1 + 1 第4题即可

总评分: 热心指数 + 1  信用等级 + 1   查看全部评分

9
Dylan890328 发表于 2010-9-30 11:03:10
7# hopewell 我基本上也快做出来了,不过现在有个问题,就是如何对DATA 步骤或者是PROC REPORT进行FORMAT, 比如将'SR2'  format成  'Sales Rep2',我用了proc format,但好像对最后的report结果没影响,下面是我的程序,求改进

proc sort data=employees1;
by lname;
run;
proc sort data=employees2;
by lname;
run;
data salessum(keep=lname fname job total);
   merge employees1 employees2;
   by lname;
   if first.lname then total=0;
   total+sales;
   if last.lname then output;
run;
proc report data=salessum headline headskip split= '*' nowd;
define lname / 'Last Name' width=10;
define fname / 'First Name' width=11;
define job / 'Position' width=12;
define total / format=dollar10. width=20;
run;

NOTEPAD 1.txt

2.03 KB

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

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