全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2816 10
2013-02-18
悬赏 20 个论坛币 已解决
proc report data= mo.Os_baoan  out = aa;                                                           
column FLAG   baoan_dis  N ;                                                                                                            
define FLAG/group ;                                                                                                                     
define sumclaim /analysis sum;                                                                                                         
define baoan_dis/across ;                                                                                                               
run;            

程序如上,结果如下图

FLAG

本季

本年非本季

其他年份

上年

N

报案注销

9

9

10

71

99

拒赔

 

 

 

1

1

立案注销

1

 

 

14

15

正常

300

209

101

845

1455

重开

3

 

12

14

29




问题一:如何使 proc report 的column 制表结果输出成 html 的网页版格式,
问题二,baoan_dis 维度被展开了一共有四个维度,我想新生成一列字段对 baoan_dis 字段维度下的 本年非本季 和其他年份 的两个维度加总
求高手帮修改以上程序 或者 举例子其他类似程序 实现 我想要的上面的操作。
谢谢!
补充问题三:横向维度整体求和有 N 统计量解决,如何修改代码使得实现对纵向统计量的求和 ,即如何让展示表格产生新一行 统计 报案注销,拒赔,立案注销,正常,重开的 汇总??
求解

补充问题四:baoan_dis 维度被展开了一共有四个维度,如何使得其中“本季的”维度 那一列的表格背景颜色变黄?

最佳答案

yongyitian 查看完整内容

Hi Wayne, I really don’t know how to hide a level of an across variable. But the whole a group or an across variable can be hidden using noprint option, such as Define flag / group noprint; Define baoan / across noprint; I modified the code by using COMPUTE block to calculate the sum of B1 and B4, instead of calculating it in a data step. proc report data=test nowd; column flag b ...
二维码

扫码加我 拉你入群

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

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

全部回复
2013-2-18 18:38:57
Hi Wayne,
I really don’t know how to hide a level of an across variable. But the whole a group or an across variable can be hidden using noprint option, such as
Define flag / group noprint;
Define baoan / across noprint;


I modified the code by using COMPUTE block to calculate the sum of B1 and B4, instead of calculating it in a data step.  

proc report data=test nowd;
   column flag baoan N B1B4;
   define flag /group;
   define baoan / across;
   define KK / analysis;
   rbreak after / summarize;          /* add a summary at the bottom */
   compute B1B4;
         B1B4 = sum(_C2_, _C4_); /* _C2_ and _C4_ are the second and the 4th colomn in the output table */
   endcomp;
   where Baoan in ('B1' 'B2' 'B4');
run;

In addition,  using data step you can get more you want.
data test_1;
     set test;
         if first.flag then do;
             B1=0; B2=0; B3=0; B4=0;
                     if baoan = 'B1' then B1 = 1;
                 if baoan = 'B2' then B2 = 1;
               if baoan = 'B3' then B3 = 1;
               if baoan = 'B4' then B4 = 1;
                  end;
      else do;
             if baoan = 'B1' then B1+1;
                 if baoan = 'B2' then B2+1;
                         if baoan = 'B3' then B3+1;
                         if baoan = 'B4' then B4+1;
                end;
                B14 = B1 + B4;
        if last.flag then output;
        by flag;
        drop baoan;
  run;     

二维码

扫码加我 拉你入群

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

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

2013-2-19 02:42:05
问题一:
ODS HTML File = 'filename';
PROC REPOER DATA=mo.Os_baoan nowindows;  /*nowindows是关键*/
your other statements;
ODS HTML CLOSE;

问题二:
我也不知道,等待高手回答。
二维码

扫码加我 拉你入群

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

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

2013-2-19 10:06:44
咕舟蓑笠 发表于 2013-2-19 02:42
问题一:
ODS HTML File = 'filename';
PROC REPOER DATA=mo.Os_baoan nowindows;  /*nowindows是关键*/  ...
第一个问题解决  谢谢~!
求高手解后两个~
二维码

扫码加我 拉你入群

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

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

2013-2-19 12:18:57
问题二, 三
sumclaim 是不是应该出现在 column 语句中

Try to add following  before  run;

rbreak after / summarize;
二维码

扫码加我 拉你入群

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

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

2013-2-19 15:29:12
yongyitian 发表于 2013-2-19 12:18
问题二, 三
sumclaim 是不是应该出现在 column 语句中
您好,我看不太明白你的意思 ,能给我解释清楚些么,比如 我想让以上的表格结果多一列,就叫KK吧,内容就是本季和上年的加总(注意本季和上年在原始清单中不是独立的字段,在原始清单中是隶属于baoan_dis字段维度下),请问如何修改程序实现呢?
求解
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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