SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 973|回复: 3
打印 上一主题 下一主题

ODS TIPS:如何在报告中根据值的不同动态填色

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2003-11-13 12:45:29 | 只看该作者

ODS TIPS:如何在报告中根据值的不同动态填色

这段程序可以根据不同数据的MIN,MEAN,MAX进行动态填色,比前面给出的那段要聪明一点
/*Create dataset to play with; */
data ddt;
  input x y;
cards;
1 25
2 30
3 40
4 50
5 55
7 60
6 90
;

/*Create format for the colors; */
proc means data=ddt;
  var y;
  output out=outddt;
run;
data _null_;
  set outddt;
  if _stat_='MIN' then call symput('MIN1',y);
  if _stat_='MEAN' then call symput('MEAN1',y);
  if _stat_='MAX' then call symput('MAX1',y);
run;

proc format;
  value tlight low-&min1='Blue'
              &min1-&mean1='Yellow'
              &mean1-<&max1='Green'
              &max1-high='Red';
run;


/*Create the report and direct it to html using ODS; */
filename new 'c:\cooltable.html';
ods listing close;

ods html body=new;
proc report data=ddt nowd headline;
  column X Y;
  define X / display 'x-label' style(column)=[foreground=black background=white];
  define Y / analysis 'y-label' style(column)=[foreground=white background=tlight.];
run;

ods html close;
ods listing;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2003-11-13 16:03:06 | 只看该作者

不错

有创意啊,佩服佩服!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2003-12-4 10:40:18 | 只看该作者

在SCL语言中可以用吗?

用SCL语言,能不能用这种方式?我想美化表格,请教教我吧
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2003-12-4 10:52:07 | 只看该作者

我的scl程序如下:

init:                                                                                                                                                                                                                                                           
submit continue;                                                                                                                                                                                                                                             
    proc univariate data=temp  normal;                                                                                                                                                                                                                        
             var x;                                                                                                                                                                                                                                       
         output out=tmpnor                                                                                                                                                                                                                                      
               mean=MEAN                                                                                                                                                                                                                                       
                max=MAX                                                                                                                                                                                                                                       
                min=MIN                                                                                                                                                                                                                                         
             std=STD                                                                                                                                                                                                                                            
               ;                                                                                                                                                                                                                                                
         run;                                                                                                                                                                                                                                                   
  endsubmit;                                                                                                                                                                                                                                                   
  mean=symgetn('mean');                                                                                                                                                                                                                                         
  std=symgetn('std');                                                                                                                                                                                                                                          
  max=symgetn('max');                                                                                                                                                                                                                                          
  min=symgetn('min');                                                                                                                                                                                                                                          
  submit continue;                                                                                                                                                                                                                                             
  data _null_;                                                                                                                                                                                                                                                  
      file _webout;                                                                                                                                                                                                                                             
      put 'Content-type: text/html';                                                                                                                                                                                                                           
      put ;                                                                                                                                                                                                                                                     
      put '<html><head><script src="/select.js"></script><SCRIPT  src="/showhide.js"></SCRIPT><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head></html>';                                                                              
  run;                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                               
  goptions  DEVICE=ActiveX transparency hsize=7in vsize=4in cback=H0C2E166                                                                                                                                                                                      
      xpixels=750 ypixels=350 colors=(red yellow blue purple orange green black white grey);                                                                                                                                                                    
                                                                                                                                                                                                                                                               
  ods html file=_webout attributes=("codebase"="/SASGraph_New.exe") style=sasweb;                                                                                                                                                                              
   proc print data=tempnor label noobs;                                                                                                                                                                                                                        
        var mean std max min;                                                                                                                                                                                                                                            
        title1 color=black box=1 blank=yes bcolor=CXE0E1D9 color=cx3169A5 font=宋体 justify=left "工艺实绩";                                                                                                                                            
        title2 " 各类统计值";                                                                                                                                                                                                                       
        label mean=平均数 std=方差 max=最大值 min=最小值;                                                                                                                                                                                                      
        run;                                                                                                                                                                                                                                                   
   ods html close;                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                        
endsubmit;                                                                                                                                                                                                                                                      
   rc=preview('file','_webout');                                                                                                                                                                                                                                
   rc=preview('close');                                                                                                                                                                                                                                         
     return;
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-1-7 12:18 , Processed in 0.509163 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表