Chapter Contents Previous Next
 Introduction to Optimization

The DATA step

Use of the DATA step and PROC PRINT is the most general way to produce reports. For example, a table showing the revenue generated from the production and a table of the cost of material can be produced with the following program.

```   data product(keep= _var_ _value_ _price_ revenue)
material(keep=_var_ _value_ _price_ cost);
set solution;
if _price_>0 then do;
revenue=_price_*_value_; output product;
end;
else if _price_<0 then do;
_price_=-_price_;
cost = _price_*_value_; output material;
end;
run;

/* display the product report */

proc print data=product;
id _var_;
var _value_ _price_ revenue ;
sum revenue;
title 'Revenue Generated from Tie Sales';
run;

/* display the materials report */

proc print data=material;
id _var_;
var _value_ _price_ cost;
sum cost;
title 'Cost of Raw Materials';
run;
```

This DATA step reads the solution data set saved by PROC LP and segregates the records based on whether they correspond to materials or products, namely whether the contribution to profit is positive or negative. Each of these is then displayed to produce Figure 1.22.

 Revenue Generated from Tie Sales

 _VAR_ _VALUE_ _PRICE_ revenue all_polyester 11.8 3.55 41.890 all_silk 7.0 6.70 46.900 cotton_poly_blend 8.5 4.81 40.885 poly_cotton_blend 15.3 4.31 65.943 195.618

 Cost of Raw Materials

 _VAR_ _VALUE_ _PRICE_ cost cotton_material 13.6 0.90 12.24 polyester_material 22.0 0.60 13.20 silk_material 7.0 0.21 1.47 26.91

Figure 1.22: Tie problem: Revenues and Costs

 Chapter Contents Previous Next Top