To calculate a model with SAS Profitability Management automation, you must create an XML configuration file to control the task. The following is a sample XML configuration file:
<Operation Model="BabyBank">
<Task Type="Calculate" NumberOfSessions="1">
<ExceptionReport>
Libref="bbankout"
TransactionSuffix="_UT"
BehaviorSuffix="_UB">
</ExceptionReport>
<TransactionTableGroups>
<TransactionTableGroup Name="ABMCost"/>
<TransactionTableGroup Name="CallCenter"/>
<TransactionTableGroup Name="Revenue"/>
</TransactionTableGroups>
<Periods>
<Period Name="2008_Q4_Actual"/>
<Period Name="2008_Q4_Budget"/>
</Periods>
<SummaryReports>
<Report Name="Eastern"/>
<Report Name="Western"/>
</SummaryReports>
</Task>
</Operation>
The xml configuration file contains the following attributes that you must specify.
| Attribute | Value |
| Model= | specifies the name of the model to be calculated. |
| Task Type= | Calculate |
| NumberOfSessions= | specifies the number of multiple concurrent sessions for calculation. |
| RowCount= | specifies the maximum number of transaction table rows to process for the calculation. If you do not specify RowCount=, then all rows are processed. Specifying RowCount= validates the model without spending the time to completely calculate the model. |
| ExceptionReport Libref= |
specifies the libref of the SAS library to receive exception report tables. |
| TransactionSuffix= | specifies the suffix of the transaction tables exception report. If you do not specify TransactionSuffix=, then the transaction tables exception report is not generated. |
| BehaviorSuffix= | specifies the suffix of the behavior table exception report. If you do not specify BehaviorSuffix=, then the behavior table exception report is not generated. |
TransactionTableGroup
IncludeAll="true" |
specifies the name of each transaction table group to be calculated. Note: If you want to calculate all the model's transaction table groups, you do not have to list them all. Instead, you can specify IncludeAll="true" in the following format: <TransactionTableGroups IncludeAll="true"/> |
Period
IncludeAll="true" |
specifies the periods to be calculated for each of the transaction table groups that is calculated. Note: If you want to calculate all periods, you do not have to list them all. Instead, you can specify IncludeAll="true" in the following format:
<Periods IncludeAll="true"/>
|
Report
IncludeAll="true" |
specifies the summary reports (cubes) to be generated for the model. Note: If you want to generate a cube for every summary report, you do not have to list them all. Instead, you can specify IncludeAll="true" in the following format:
<SummaryReports IncludeAll="true"/>
|
To calculate a model, in addition to creating the XML configuration file, you must also
Note: You can construct your XML configuration file to perform multiple tasks with a single job. For example, the following configuration file imports a model and then calculates it:
<Operation Model="BabyBank New">
<!-- Import BabyBank as BabyBank New -->
<Task Type="Import" Action="Replace">
<Source Type="XML" FilePath="BabyBank.xml"/>
</Task>
<!-- Calculate BabyBank New -->
<Task Type="Calculate" NumberOfSessions="1" RowCount="5">
<ExceptionReport>
Libref="bbankout"
TransactionSuffix="_UT"
BehaviorSuffix="_UB">
</ExceptionReport>
<TransactionTableGroups>
<TransactionTableGroup Name="ABMCost"/>
<TransactionTableGroup Name="CallCenter"/>
<TransactionTableGroup Name="Revenue"/>
</TransactionTableGroups>
<Periods>
<Period Name="2008_Q4_Actual"/>
<Period Name="2008_Q4_Budget"/>
</Periods>
<SummaryReports>
<Report Name="Eastern"/>
<Report Name="Western"/>
</SummaryReports>
</Task>
</Operation>