В случае нескольких групп одна макропеременная не будет полезна.
Имя или значение переменной BY
можно отобразить в операторе TITLE
с использованием специальных токенов - #BYVAL<n>
,#BYVAR<n>
, #BYVAL(<var>)
и #BYVAR(<var>)
.
Создайте view
со столбцом для среднего значения цены, так что это будет переменная.Используйте этот столбец в операторе by
и специальный токен в title
.
proc sql;
create view work.cars_v as select
cars.*
, mean(msrp) as mean_price format=dollar7. /* automatic remerge */
from sashelp.cars
group by Make,Type
;
options nocenter nobyline;
proc print data=work.cars_v;
title "#byval(make) #byval(Type), Average MSRP:#byval(mean_price)";
by Make Type mean_price;
var Model Origin DriveTrain EngineSize Cylinders MSRP;
run;
Listing
--------------------------------------------------------------------------------------------------
Acura SUV, Average MSRP:$36,945
Drive Engine
Obs Model Origin Train Size Cylinders MSRP
1 MDX Asia All 3.5 6 $36,945
--------------------------------------------------------------------------------------------------
Acura Sedan, Average MSRP:$34,772
Drive Engine
Obs Model Origin Train Size Cylinders MSRP
2 RSX Type S 2dr Asia Front 2.0 4 $23,820
3 TSX 4dr Asia Front 2.4 4 $26,990
4 TL 4dr Asia Front 3.2 6 $33,195
5 3.5 RL 4dr Asia Front 3.5 6 $43,755
6 3.5 RL w/Navigation 4dr Asia Front 3.5 6 $46,100
--------------------------------------------------------------------------------------------------
Acura Sports, Average MSRP:$89,765
Drive Engine
Obs Model Origin Train Size Cylinders MSRP
7 NSX coupe 2dr manual S Asia Rear 3.2 6 $89,765
--------------------------------------------------------------------------------------------------
etc …