我需要帮助。如何突出显示每行中的最高值,例如本例
51.30 - 50.50 - 57.50 - 85.00 - 54.40 - 67.75
58.05 - 80.75 - 60.37 - 103.50 - 59.44 - 94.40
60.90 - 91.00 - 62.50 - 84.00 - 61.43 - 88.67
63.55 - 96.25 - 66.25 - 107.50 - 64.90 - 101.88
64.50 - 112.25 - 66.75 - 122.50 - 65.63 - 117.38
. - . - 72.00 - 150.00 - 72.00 - 150.00
我需要突出显示 85.00 , 103.50 , 91.00 , 107.50 ....等等,用不同的颜色排除课程总数
这是该示例的代码:
ods html file='D:/test.html';
proc tabulate data=sashelp.class f=7.2 style={background=yellow};
var height/style={background=green foreground=white};
var weight/style={background=blue foreground=white};
class age/style={background=pink foreground=purple};
classlev age/style={background=purple foreground=pink};
class sex/style={background=white foreground=black};
classlev sex/style={background=red foreground=white};
table
age all,
mean=' '*sex='Gender Avg'*(height*{s={font_size=8pt}} weight)
mean='Overall Avg'*(height weight*{s={font_size=14pt}}) /
box={label='Box Label' s={background=bib foreground=cyan}};
;
run;
ods html close;
提前感谢:)
答案 0 :(得分:0)
SAS支持提供了充分的解决方案:
最大值
以下示例交通灯基于最大值 观察。
PROC SQL代码将最大值放入一系列宏中 变量
使用MACRO的PROC格式构建具有最大值的格式 表格模板用于使用BACKGROUND =创建样式 属性。
这种方法有点混乱,可能对您不起作用 - 如果任何后续行中出现一行的最大值,它也会在那里突出显示。 (在此示例中,没有稍后重复的最大值。)
data one;
input c x y z;
cards;
1 7 31 4
4 9 5 10
1 73 3 4
40 9 5 6
8 70 3 4
5 2 90 6
;
run;
proc sql;
select count(c) into: num
from one;
select distinct( max(c,x,y,z)) into : temp1- :temp%left(&num)
from one;
run;
quit;
%put &temp1 &temp2;
%macro test;
proc format ;
value test (multilabel)
%do i=1 %to #
&&temp&i="red"
%end;other="green";
run;
%mend;
%test
proc template;
define table test;
parent=base.datastep.table;
define column c;
style={background=test.};
end;
define column x;
style={background=test.};
end;
define column y;
style={background=test.};
end;
define column z;
style={background=test.};
end;
end;
run;
ods html body='temp.html';
data _null_;
set one;
file print ods=(template='test');
put _ods_;
run;
ods html close;