Update Drill Through Report
/essbase/rest/v1/applications/{applicationName}/databases/{databaseName}/reports/{name}
Updates the drill through report in the specified application and database, and returns details of the updated report.
Request
- application/json
- application/xml
-
applicationName: string
Application name.
-
databaseName: string
Database name.
-
name: string
Drill through report name.
Drill through report details.
object
Drill through report definition. Determines the access users should have to external information. Drill through report definitions are associated with a cube, and include a column mapping (required), a drillable region (required), and a mapping for runtime parameters (optional - can be used if the Datasource query is parameterized).
-
columnMapping(optional):
object columnMapping
Additional Properties Allowed: ColumnMappingInfo
Specification of which external source columns should be included in the drill through report, which Essbase dimensions those columns map to, and (optionally) a generation/level filter condition indicating how much depth of access to provide.
-
columns(optional):
array columns
List of columns from the external Datasource that you want included in the drill through report.
-
dataSourceName(optional):
string
Name of the Datasource used for this drill through report definition.
-
drillableRegions(optional):
array drillableRegions
Specification of which cell intersections offer access to drill through reports (or a URL). Specify using Essbase member names and (optionally) member-set calculation functions. Example: Market,Year,Scenario,Sales,@LEVMBRS(Product,1)
-
links(optional):
array links
-
name(optional):
string
Name of the drill through report definition.
-
parameterMapping(optional):
object parameterMapping
Additional Properties Allowed: RunTimeParametersInfo
Optional specification of dimension, generation, or level mapping for runtime parameters (if implemented in a Datasource), enabling further customization of drill through report results based on the variable context.
-
type(optional):
string
Type of drill through report definition:
DATASOURCE
to drill through to an external source system orURL
to drill through to a web URL. -
url(optional):
string
Static or dynamic URL string. Use if you are defining drill through to external data using URLs.
-
useTempTables(optional):
boolean
Whether Essbase should create temporary tables for drill through performance improvement for queries that have a large number of values in the SQL ???IN??? clause.
object
Specification of which external source columns should be included in the drill through report, which Essbase dimensions those columns map to, and (optionally) a generation/level filter condition indicating how much depth of access to provide.
array
List of columns from the external Datasource that you want included in the drill through report.
array
Specification of which cell intersections offer access to drill through reports (or a URL). Specify using Essbase member names and (optionally) member-set calculation functions. Example: Market,Year,Scenario,Sales,@LEVMBRS(Product,1)
object
Optional specification of dimension, generation, or level mapping for runtime parameters (if implemented in a Datasource), enabling further customization of drill through report results based on the variable context.
object
-
dimension(optional):
string
-
generation(optional):
string
-
generationNumber(optional):
integer(int32)
-
level(optional):
string
-
type(optional):
string
Allowed Values:
[ "DIMENSION", "GENERATION", "LEVEL0", "PARENT_CHILD" ]
object
-
dimension(optional):
string
-
generation(optional):
string
-
generationNumber(optional):
integer(int32)
-
level(optional):
string
-
type(optional):
string
Allowed Values:
[ "DIMENSION", "GENERATION", "LEVEL0", "PARENT_CHILD" ]
Response
- application/json
- application/xml
200 Response
OK
The drill through report was updated successfully.
object
Drill through report definition. Determines the access users should have to external information. Drill through report definitions are associated with a cube, and include a column mapping (required), a drillable region (required), and a mapping for runtime parameters (optional - can be used if the Datasource query is parameterized).
-
columnMapping(optional):
object columnMapping
Additional Properties Allowed: ColumnMappingInfo
Specification of which external source columns should be included in the drill through report, which Essbase dimensions those columns map to, and (optionally) a generation/level filter condition indicating how much depth of access to provide.
-
columns(optional):
array columns
List of columns from the external Datasource that you want included in the drill through report.
-
dataSourceName(optional):
string
Name of the Datasource used for this drill through report definition.
-
drillableRegions(optional):
array drillableRegions
Specification of which cell intersections offer access to drill through reports (or a URL). Specify using Essbase member names and (optionally) member-set calculation functions. Example: Market,Year,Scenario,Sales,@LEVMBRS(Product,1)
-
links(optional):
array links
-
name(optional):
string
Name of the drill through report definition.
-
parameterMapping(optional):
object parameterMapping
Additional Properties Allowed: RunTimeParametersInfo
Optional specification of dimension, generation, or level mapping for runtime parameters (if implemented in a Datasource), enabling further customization of drill through report results based on the variable context.
-
type(optional):
string
Type of drill through report definition:
DATASOURCE
to drill through to an external source system orURL
to drill through to a web URL. -
url(optional):
string
Static or dynamic URL string. Use if you are defining drill through to external data using URLs.
-
useTempTables(optional):
boolean
Whether Essbase should create temporary tables for drill through performance improvement for queries that have a large number of values in the SQL ???IN??? clause.
object
Specification of which external source columns should be included in the drill through report, which Essbase dimensions those columns map to, and (optionally) a generation/level filter condition indicating how much depth of access to provide.
array
List of columns from the external Datasource that you want included in the drill through report.
array
Specification of which cell intersections offer access to drill through reports (or a URL). Specify using Essbase member names and (optionally) member-set calculation functions. Example: Market,Year,Scenario,Sales,@LEVMBRS(Product,1)
object
Optional specification of dimension, generation, or level mapping for runtime parameters (if implemented in a Datasource), enabling further customization of drill through report results based on the variable context.
object
-
dimension(optional):
string
-
generation(optional):
string
-
generationNumber(optional):
integer(int32)
-
level(optional):
string
-
type(optional):
string
Allowed Values:
[ "DIMENSION", "GENERATION", "LEVEL0", "PARENT_CHILD" ]
object
-
dimension(optional):
string
-
generation(optional):
string
-
generationNumber(optional):
integer(int32)
-
level(optional):
string
-
type(optional):
string
Allowed Values:
[ "DIMENSION", "GENERATION", "LEVEL0", "PARENT_CHILD" ]
400 Response
Bad Request
Failed to update the report. The application name, database name, or report name may be incorrect, or the specified report name may not exist.
415 Response
Not Acceptable
The media type isn't supported or wasn't specified.
500 Response
Internal Server Error.
Examples
The following example shows how to update a drill through report definition.
This example uses cURL to access the REST API from a Windows shell script. The calling user's ID and password are variables whose values are set in properties.bat
.
Script with cURL Command
call properties.bat
curl -X PUT "https://myserver.example.com:9001/essbase/rest/v1/applications/SampleDtr/databases/Basic/reports/drill3" -H Accept:application/json -H Content-Type:application/json --data "@./drill3_update.json" -u %User%:%Password%
Sample JSON Payload
The cURL example above delivers the following JSON payload in drill3_update.json
.
{
"name" : "drill3",
"columns" : [ "DIMENSION_PRODUCT", "DIMENSION_MARKET", "DIMENSION_YEAR", "DIMENSION_SCENARIO", "SALES", "COGS", "MARKETING", "PAYROLL", "MISC", "INITIAL_INVENTORY", "ADDITIONS" ],
"dataSourceName" : "phx_DS",
"drillableRegions" : [ "@DESCENDANTS(\"Margin\")" ],
"columnMapping" : {
"DIMENSION_PRODUCT" : {
"dimension" : "Product",
"type" : "DIMENSION"
},
"DIMENSION_MARKET" : {
"dimension" : "Market",
"level" : "Level0",
"type" : "LEVEL0"
},
"DIMENSION_YEAR" : {
"dimension" : "Year",
"generation" : "Quarter",
"type" : "GENERATION",
"generationNumber" : 2
},
"DIMENSION_SCENARIO" : {
"dimension" : "Scenario",
"generation" : "Gen1",
"type" : "GENERATION",
"generationNumber" : 1
}
},
"parameterMapping" : {
"Param1" : {
"dimension" : "Year",
"level" : "Level0",
"type" : "LEVEL0"
}
},
"type" : "DATASOURCE",
"useTempTables" : true
}
Example of Response Body
The following example shows the contents of the response body in JSON format:
{
"name" : "drill3",
"columns" : [ "DIMENSION_PRODUCT", "DIMENSION_MARKET", "DIMENSION_YEAR", "DIMENSION_SCENARIO", "SALES", "COGS", "MARKETING", "PAYROLL", "MISC", "INITIAL_INVENTORY", "ADDITIONS" ],
"dataSourceName" : "phx_DS",
"drillableRegions" : [ "@DESCENDANTS(\"Margin\")" ],
"columnMapping" : {
"DIMENSION_PRODUCT" : {
"dimension" : "Product",
"type" : "DIMENSION"
},
"DIMENSION_MARKET" : {
"dimension" : "Market",
"level" : "Level0",
"type" : "LEVEL0"
},
"DIMENSION_YEAR" : {
"dimension" : "Year",
"generation" : "Quarter",
"type" : "GENERATION",
"generationNumber" : 2
},
"DIMENSION_SCENARIO" : {
"dimension" : "Scenario",
"generation" : "Gen1",
"type" : "GENERATION",
"generationNumber" : 1
}
},
"parameterMapping" : {
"Param1" : {
"dimension" : "Year",
"level" : "Level0",
"type" : "LEVEL0"
}
},
"type" : "DATASOURCE",
"useTempTables" : true,
"links" : [ {
"rel" : "get",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/SampleDtr/databases/Basic/reports/drill3",
"method" : "GET"
}, {
"rel" : "delete",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/SampleDtr/databases/Basic/reports/drill3",
"method" : "DELETE"
}, {
"rel" : "edit",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/SampleDtr/databases/Basic/reports/drill3",
"method" : "PUT"
} ]
}