全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1751 1
2017-11-25
data grocery code.docx
大小:(14.35 KB)

 马上下载



data grocery;
   input Sector $ Manager $ Department $ Sales @@;
   datalines;
se 1 np1 50    se 1 p1 100   se 1 np2 120   se 1 p2 80
se 2 np1 40    se 2 p1 300   se 2 np2 220   se 2 p2 70
nw 3 np1 60    nw 3 p1 600   nw 3 np2 420   nw 3 p2 30
nw 4 np1 45    nw 4 p1 250   nw 4 np2 230   nw 4 p2 73
nw 9 np1 45    nw 9 p1 205   nw 9 np2 420   nw 9 p2 76
sw 5 np1 53    sw 5 p1 130   sw 5 np2 120   sw 5 p2 50
sw 6 np1 40    sw 6 p1 350   sw 6 np2 225   sw 6 p2 80
ne 7 np1 90    ne 7 p1 190   ne 7 np2 420   ne 7 p2 86
ne 8 np1 200   ne 8 p1 300   ne 8 np2 420   ne 8 p2 125
;
proc format;
   value $sctrfmt 'se' = 'Southeast'
                  'ne' = 'Northeast'
                  'nw' = 'Northwest'
                  'sw' = 'Southwest';

   value $mgrfmt '1' = 'Smith'   '2' = 'Jones'
                 '3' = 'Reveiz'  '4' = 'Brown'
                 '5' = 'Taylor'  '6' = 'Adams'
                 '7' = 'Alomar'  '8' = 'Andrews'
                 '9' = 'Pelfrey';

   value $deptfmt 'np1' = 'Paper'
                  'np2' = 'Canned'
                  'p1'  = 'Meat/Dairy'
                  'p2'  = 'Produce';
run;
title;
footnote;
ods listing close;
ods html file='c:\sas\summary.html';
title ' Report for Sectors in 2017';
proc report data=grocery headline headskip nowd spacing=7;
column sector manager department sales profit pct;
define sector/group format=$sctrfmt. width=25;
define manager/group format =$mgrfmt. width=7;
define department/group format =$deptfmt. width=22;
define sales/analysis format= dollar11.2 width=8 'sales/2017' left;
define profit/computed format =dollar11.2 width=10 'profit/2017' left;
compute profit;
        if department = 'np1' or department ='np2'
            then profit=0.4*sales.sum;
            else if department = 'p1' or department ='p2'
        then profit = 0.25*sales.sum;
endcomp;
break after sector/ol ul summarize skip suppress;/*subtotal based on sector*/
rbreak after/ dol dul summarize;/*total*/
compute after;
        line @50 'TOTAL SALES AND PROFIT';
                department='total sales and profit:';
endcomp;
define pct/computed format=percent8.2 'PCT';
compute pct;
pct=profit/sales.sum;
endcomp;
run;                                                                                          
ods html close;
ods listing;

谁能帮我看一下code,为什么profit那一部分的summary为missing呢???
二维码

扫码加我 拉你入群

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

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

全部回复
2017-11-30 11:28:45
楼主,我在你的代码里加了一句else profit=100*sales.sum;,以你的聪明才智,你一看就明白了。或许先在data步计算profit更方便。

复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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