Optimize Aggregation

Improves the performance of ASO cubes. This job has two actions: Enable query tracking and Execute aggregation process. It performs an aggregation, optionally specifying the maximum disk space for the resulting files, and optionally basing the view selection on user querying patterns. This API is only applicable to aggregate storage databases. For information about scheduling jobs, see Scheduling Jobs.

Before using this API, you must first enable query tracking to capture tracking statistics on the aggregate storage cube. Then, after you enable query tracking, you must allow sufficient time to collect user data-retrieval patterns before you execute the aggregation process based on query data. The execute aggregation process deletes existing aggregated views and generates optimized views based on the collected query tracking data.

Using this REST API requires prerequisites, such as understanding how to use jobs. See Prerequisites. Be sure that you understand how to use jobs as described in Managing Jobs.

REST Resource

Request

POST     /HyperionPlanning/rest/{api_version}/applications/{application}/jobs/{jobId}

Supported Media Types: application/json

Parameters

The following table summarizes the client request parameters specific to this job. For additional parameters that are common to all jobs, see Execute a Job.

Table 5-23 Parameters

Name Description Required Default
jobType Optimize Aggregation Yes None
jobName The job name to be used for this job execution No Optimize Aggregation
parameters Parameters required for the job Yes None
cubeName Name of the ASO cube Yes None
type Can take one of these values: enableQueryTracking or executeAggregationProcess Yes None
useQueryData Aggregate the views the server selects based on collected user querying patterns. This option is only available if query tracking is turned on. Permissible values: true or false. Default: false. Applicable only if type is executeAggregationProcess. No None
includeAlternateRollups Include secondary hierarchies (with default level usage) in the view selection. Permissible values: disable or enable. Default: disable (no secondary hierarchies are considered). Applicable only if type is executeAggregationProcess. No None
growthSizeRatio Aggregates the views the server selects until the maximum growth of the aggregated database exceeds the limits you specify. The value can be a real number such as 1.01. Default is that the database will grow without any growth ratio limit. Applicable only if type is executeAggregationProcess . No None

For a sample URL, see Sample URL and Payload in Execute a Job.

Sample Payload

Example 1: This request will enable query tracking on the Vis1ASO cube.

{
    "jobType": "Optimize Aggregation",
    "jobName": "CubeOptimizeAggr",
    "parameters": {
        "cubeName": "Vis1ASO",
        "type": "enableQueryTracking"
    }
}

Example 2: This request will execute the aggregation process on the Vis1ASO cube.

{
    "jobType": "Optimize Aggregation",
    "jobName": "CubeOptimizeAggr",
    "parameters": {
        "cubeName": "Vis1ASO",
        "type": "executeAggregationProcess"
    }
}

Example 3: This request will execute aggregation process on the Vis1ASO cube. Aggregation process will use the query tracking data, will not include alternate roll ups, and use growth size ratio as 1.01.

{
    "jobType": "Optimize Aggregation",
    "jobName": "CubeOptimizeAggr",
    "parameters": {
        "cubeName": "Vis1ASO",
        "type": "executeAggregationProcess",
        "useQueryData": "true",
        "includeAlternateRollups": "disable",
        "growthSizeRatio": "1.01"
    }
}