You can use the Transformation Generator wizard to create a custom
transformation that reads input in the form of an XML table, process
the input, and then write output in the form of an XML table. For
an introduction to the Transformation Generator wizard, see
Creating and Using a Generated Transformation.
In the sample job, we
need a custom transformation that reads values for temperature and
scale, in the format specified by InTemp.xml. The transformation converts
the temperature in one scale to the equivalent temperature in the
other scale, and then writes the result in the format specified by
OutTemp.xml.
Perform the following
steps or similar steps to create a custom transformation for a job
that can be deployed as a Web service:
-
Right-click the destination
folder in the Folders tree where the new transformation should be
stored. Then select
NewTransformation. The first page of the
Transformation Generator wizard displays.
-
Enter a name for the
transformation. In the sample job, the transformation is named
Convert Temp GT.
-
Review other values
on this page and make changes as desired, and then click
Next. The SAS Code page displays.
-
Add SAS code that reads
input in the form of an XML table, process the input, and then write
output in the form of an XML table. In the sample job, the following
SAS code is added to this page.
data &_OUTPUT;
set &_INPUT;
keep CalculatedTemperature;
length NewTemperature 8.;
if (Unit="F") then
do;
NewTemperature=(5/9)*(Temperature-32);
Unit="C";
CalculatedTemperature = "Temperature of " || compress(temperature) ||
" degrees Farenheit = " || compress(NewTemperature) ||
" degrees Centigrade" ;
end;
else if (Unit="C") then
do;
NewTemperature=(9/5)*(Temperature)+32;
Unit="F";
CalculatedTemperature = "Temperature of " || compress(temperature) ||
" degrees Centigrade = " || compress(NewTemperature) ||
" degrees Farenheit" ;
end;
else
do;
CalculatedTemperature="Temperature of " || compress(temperature) ||
" with unit of " || compress(unit) || " cannot be converted ";
Unit="";
end;
run;
-
When you are satisfied
with the code, click
Next . The Options page
displays. Specify options as desired. The sample job does not require
any options. When ready, click
Next. The
Transform properties page displays.
-
Specify transformation
properties as desired. For the sample job, the following properties
are specified:
Transform
supports inputs (selected)
Maximum
number of inputs (1)
Transform
supports outputs (selected)
Maximum
number of outputs (1)
Automatically
generate delete code for outputs (deselected)
Note: Be sure to deselect the
Automatically generate delete code for outputs property.
It is not appropriate for Web service jobs.
-
Click
Finish to save the transformation. In the Folders tree, the custom transformation
appears in the folder that you right-clicked in step 1. In the Transformations
tree, the custom transformation appears in the
Ungrouped folder or another category that you specified in step 3.