Calculate Model

Runs the calculation on a given point of view in a selected cube. This API supports batch calculation with multiple POVs.

This is an asynchronous call, so use the job status URI to determine whether the operation is complete.

This API is version v3.

Required Roles

Service Administrators

REST Resource

POST /HyperionPlanning/rest/v3/applications/{AppName}/jobs/

Note:

Before using the REST resources, you must understand how to access the REST resources and other important concepts. See Implementation Best Practices for EPM Cloud REST APIs. Using this REST API requires prerequisites. See Prerequisites.

Request

Supported Media Types: application/json

The following table summarizes the client request parameters specific to this job

Table 23-3 Parameters

Name Description Type Required Default
jobType Calculation Payload Yes None
jobName

Name of the job

Example: "Calculation"

Payload Yes None
povDelimiter

Delimiter used in POV values. The default delimiter is _ (under score). The delimiter must be enclosed in double quotation marks. Only these delimiters are supported:

  • _ (under score)

  • # (hash)

  • & (ampersand)

  • ~ (tilde)

  • % (percentage)

  • ; (semicolon)

  • : (colon)

  • - (dash)

Example: "povDelimiter":":"

Note: When submitting multiple POVs for calculation, do not use a comma as the delimiter to separate POV members. Comma is reserved for separating POV groups as shown in this example:

FY21:Jan:Actual:Working,FY21:Feb:Actual:Working,FY21:Mar:Actual:Working

Payload Yes :: (Double Colon)
povName

Name of the POV to calculate. You can pass one or more POVs separated by a comma (,).

Example: "sourcePOVName":"FY16:May:Actual:Working"

Payload Yes None
modelName

Name of the model to calculate

Example: "modelName":"10 Actuals Allocation Process"

Payload Yes None
executionType

(ALL_RULES | RULESET_SUBSET | SINGLE_RULE | RUN_FROM_RULE | STOP_AFTER_RULE) Identifies the rule execution type

  • If executionType=ALL_RULES, rule related parameters are not required.

  • If executionType=SINGLE_RULE |RUN_FROM_RULE|STOP_AFTER_RULE, then provide ruleName only.

  • If executionType=RULESET_SUBSET, then provide values for rulesetSeqNumStart and rulesetSeqNumEnd.

Example: "executionType":"ALL_RULES"

Payload Yes None
ruleName

Name of the single rule to run

Example: "ruleName":"Utlities Expense Adjustment"

Payload No None
rulesetSeqNumStart

Sequence number of the first rule in the rule set to run

Example: "rulesetSeqNumStart:1"

Payload No None
rulesetSeqNumEnd

Sequence number of the last rule in the rule set to run

Example: "rulesetSeqNumStart:10"

Payload No None
clearCalculatedData

(True | False) Specifies whether to clear existing calculations

Example: "clearCalculatedData":"true",

Payload No False
executeCalculations

(True | False) Specifies whether to run calculations

Example: "executeCalculations":"true"

Payload No False
optimizeForReporting

(True | False) Specifies whether to optimize the calculation process for reporting

When running multiple concurrent calculation jobs, set optimizeReporting=true for all jobs. Only the last job to complete will perform the aggregation, which avoids redundant processing and prevents running jobs from slowing down.

Set optimizeReporting=false only when necessary to save processing time; for example, when running a single rule or a sequential series of several POVs.

Example: "optimizeForReporting":"false",

Payload No False
captureDebugScripts

(True | False) Specifies whether to generate debug scripts

Example: "captureDebugScripts":"false"

Payload No False
comment

Comment to describe the job

Payload No None

Sample Payload

{
    "jobType":"Calculation",
    "jobName":"Calculation",
    "parameters":{
        "povDelimiter":":",
        "povName":"FY21:Jan:Actual:Working",,
        "modelName":"10 Actuals Allocation Process",
        "executionType":"ALL_RULES",
        "rulesetSeqNumStart":"1",
        "rulesetSeqNumEnd":"1",
        "clearCalculatedData":"true",
        "executeCalculations":"true",
        "optimizeForReporting":"true",
        "captureDebugScripts":"false"
    }
}

Response Body

Supported Media Types: application/json

Table 23-4 Parameters

Name Description
jobId ID of the job that is created
jobName Name of the job
details In case of errors, details are published with the error string
status See Migration Status Codes.
links Detailed information about the link
href Links to the API call
action HTTP call type
rel Can be self and/or Job-details. If set to Job Status, you can use the href to get the status of the job.
data Parameters as key value pairs passed in the request

Examples of Response Body

The examples show the response body in JSON format.

Example 1: Job in progress

{
    "jobId": 26,
    "jobName": "Calculation",
    "status": -1,
    "descriptiveStatus": "Processing",
    "details": null,
    "links": [
        {
            "href": "http://<epm_host>/HyperionPlanning/rest/v3/applications/BksML40/jobs/26",
            "action": "GET",
            "rel": "self",
        },
        {
            "href": "http://<epm_host>/HyperionPlanning/rest/v3/applications/BksML40/jobs/26/details",
",
            "action": "GET",
            "rel": "job-details "
        }
    ]
}

Example 2: Job status with no errors

{
    "jobId": 26,
    "jobName": "Calculation",
    "status": 0,
    "descriptiveStatus": "Success",
    "details": null
    "links": [
        {
            "rel": "self"
            "href": "http://<epm_host>/HyperionPlanning/rest/v3/applications/jobs/26",
            "action": "GET",
        },
 {
            "rel": "job-details"
            "href": "http://<epm_host>/HyperionPlanning/rest/v3/applications/jobs/26/details",
            "action": "GET",
        }

    ]
}