Get Dimensions, Children, or Search
/essbase/rest/v1/outline/{app}/{cube}
Returns a list of dimensions when no parameters are provided. Returns a list of child members when parent or parentUniqueName parameters are provided. Returns search results when a search keyword parameter is used.
Request
-
app(required): string
Application name.
-
cube(required): string
Database name.
-
applicationNameForConnection: string
Application name for connection.
-
connection: string
Essbase connection name.
-
fields: string
Comma-separated list of member properties to fetch.
-
isMbrId: string
Parent ID.
-
keyword: string
Keyword to search for member.
-
limit: integer(int32)
Maximum number of members to return.
Default Value:50
-
matchWholeWord: boolean
Match member name with keyword.
Default Value:false
-
offset: integer(int32)
Number of members to omit from the start of the result set.
Default Value:0
-
parent: string
Parent name.
-
parentUniqueName: string
Parent unique name (fully qualified).
Response
- application/json
- application/xml
200 Response
OK
Dimensions, children, or search results returned successfully.
object
400 Response
Bad Request
Failed to get members or search results.
500 Response
Internal Server Error.
Examples
The following examples show how to get dimensions, get children, and search for members in an Essbase cube outline.
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
.
Member information output that Essbase displays is contextual. Typically, default information is not included. The following are examples of properties that may not be displayed when you query information for a member:
- consolidation: not displayed if the member consolidation operator is the default of Add (+)
- numberOfChildren: not displayed for leaf-level members (members with no children)
- activeAliasName: not displayed unless a non-default alias table is being used in the current session
- attributeType: only displayed for members that are attribute dimension names
- shareMembers: not displayed for dimension-name members nor attributes, as these cannot be the prototype member for a shared member.
- memberHasUniqueName: not displayed unless the outline is duplicate member enabled
Get Dimensions
Script with cURL Command
The following example shows how to get dimensions in an Essbase cube outline.
call properties.bat
curl -X GET "https://myserver.example.com:9001/essbase/rest/v1/outline/Sample/Basic?links=none" -H Accept:application/json -H Content-Type:application/json -o output_dims.json -u %User%:%Password%
Example of Response Body
The following information is written to output_dims.json
:
{
"items": [
{
"name": "Year",
"numberOfChildren": 4,
"levelNumber": 2,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "Jahr",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Year",
"memberId": "id__34",
"memberSolveOrder": 40,
"descendantsCount": 16,
"dimension": true,
"dimSolveOrder": 40,
"dimensionType": "TIME",
"dataStorageType": "DYNAMICCALC",
"formatString": null,
"dimStorageType": "DENSE"
},
{
"name": "Measures",
"numberOfChildren": 3,
"levelNumber": 3,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "not shown",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Measures",
"memberId": "id__51",
"descendantsCount": 18,
"previousSiblingsCount": 1,
"dimension": true,
"account": true,
"dimSolveOrder": 30,
"dimensionType": "ACCOUNTS",
"dataStorageType": "LABELONLY",
"formatString": null,
"dimStorageType": "DENSE",
"currencyConversionCategory": ""
},
{
"name": "Product",
"numberOfChildren": 5,
"levelNumber": 2,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "Produkt",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Product",
"memberId": "id__68",
"descendantsCount": 21,
"previousSiblingsCount": 2,
"dimension": true,
"dimSolveOrder": 10,
"associatedAttributes": [
{
"dimName": "Caffeinated",
"attributeValueAsString": "",
"attributeValue": false
},
{
"dimName": "Ounces",
"attributeValueAsString": "",
"attributeValue": 0.0
},
{
"dimName": "Pkg Type",
"attributeValueAsString": "",
"attributeValue": "Pkg Type"
},
{
"dimName": "Intro Date",
"attributeValueAsString": "",
"attributeValue": 0
}
],
"formatString": null,
"dimStorageType": "SPARSE"
},
{
"name": "Market",
"numberOfChildren": 4,
"levelNumber": 2,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "Markt",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Market",
"memberId": "id__90",
"descendantsCount": 24,
"previousSiblingsCount": 3,
"dimension": true,
"dimSolveOrder": 10,
"allUdas": [
"Major Market",
"Small Market",
"New Market"
],
"associatedAttributes": [
{
"dimName": "Population",
"attributeValueAsString": "",
"attributeValue": 0.0
}
],
"formatString": null,
"dimStorageType": "SPARSE"
},
{
"name": "Scenario",
"numberOfChildren": 4,
"levelNumber": 1,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "Szenario",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Scenario",
"memberId": "id__115",
"descendantsCount": 4,
"previousSiblingsCount": 4,
"dimension": true,
"dimSolveOrder": 50,
"dataStorageType": "LABELONLY",
"formatString": null,
"dimStorageType": "DENSE"
},
{
"name": "Caffeinated",
"numberOfChildren": 2,
"levelNumber": 1,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "Koffeinhaltig",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Caffeinated",
"memberId": "id__31",
"memberSolveOrder": 90,
"descendantsCount": 2,
"previousSiblingsCount": 5,
"dimension": true,
"attribute": true,
"dimSolveOrder": 90,
"dimensionType": "ATTRIBUTE",
"attributeType": "BOOLEAN",
"associatedDimension": "Product",
"attributeAssocLevel": 0
},
{
"name": "Ounces",
"numberOfChildren": 4,
"levelNumber": 1,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "Unzen",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Ounces",
"memberId": "id__26",
"memberSolveOrder": 90,
"descendantsCount": 4,
"previousSiblingsCount": 6,
"dimension": true,
"attribute": true,
"dimSolveOrder": 90,
"dimensionType": "ATTRIBUTE",
"attributeType": "NUMERIC",
"associatedDimension": "Product",
"attributeAssocLevel": 0
},
{
"name": "Pkg Type",
"numberOfChildren": 2,
"levelNumber": 1,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "Art der Verpackung",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Pkg Type",
"memberId": "id__23",
"memberSolveOrder": 90,
"descendantsCount": 2,
"previousSiblingsCount": 7,
"dimension": true,
"attribute": true,
"dimSolveOrder": 90,
"dimensionType": "ATTRIBUTE",
"attributeType": "TEXT",
"associatedDimension": "Product",
"attributeAssocLevel": 0
},
{
"name": "Population",
"numberOfChildren": 3,
"levelNumber": 2,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "Einwohner",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Population",
"memberId": "id__8",
"memberSolveOrder": 90,
"descendantsCount": 14,
"previousSiblingsCount": 8,
"dimension": true,
"attribute": true,
"dimSolveOrder": 90,
"dimensionType": "ATTRIBUTE",
"attributeType": "NUMERIC",
"associatedDimension": "Market",
"attributeAssocLevel": 0
},
{
"name": "Intro Date",
"numberOfChildren": 7,
"levelNumber": 1,
"aliases": {
"Long Names": null,
"ChineseNames": "not shown",
"JapaneseNames": "not shown",
"GermanNames": "not shown",
"RussianNames": "not shown",
"Default": null
},
"uniqueName": "Intro Date",
"memberId": "id__0",
"memberSolveOrder": 90,
"descendantsCount": 7,
"previousSiblingsCount": 9,
"dimension": true,
"attribute": true,
"dimSolveOrder": 90,
"dimensionType": "ATTRIBUTE",
"attributeType": "DATE",
"associatedDimension": "Product",
"attributeAssocLevel": 0
},
{
"name": "Attribute Calculations",
"numberOfChildren": 5,
"levelNumber": 1,
"aliases": {
"Long Names": null,
"ChineseNames": null,
"JapaneseNames": null,
"GermanNames": null,
"RussianNames": null,
"Default": null
},
"uniqueName": "Attribute Calculations",
"descendantsCount": 5,
"previousSiblingsCount": 10,
"dimension": true,
"dimSolveOrder": 90,
"dimensionType": "ATTRIBUTECALC",
"dataStorageType": "LABELONLY",
"formatString": null,
"dimStorageType": "SPARSE"
}
],
"hasMore": false,
"totalResults": 11,
"limit": 50,
"count": 11,
"offset": 0,
"links": []
}
Get Children
Script with cURL Command
The following example shows how to get children of a specified parent member in an Essbase cube outline.
call properties.bat
curl -X GET "https://myserver.example.com:9001/essbase/rest/v1/outline/ASOSamp/Basic?links=none&parent=Payment%20Type" -H Accept:application/json -H Content-Type:application/json -o output_children.json -u %User%:%Password%
Example of Response Body
The following information is written to output_children.json
:
{
"items": [
{
"name": "Cash",
"dimensionName": "Payment Type",
"generationNumber": 2,
"aliases": {
"Default": null
},
"uniqueName": "Cash",
"memberId": "id__480",
"parentName": "Payment Type",
"shareMembers": null,
"hierarchy": "MULTIPLEHIERARCHYNOTENABLED"
},
{
"name": "ATM",
"dimensionName": "Payment Type",
"generationNumber": 2,
"aliases": {
"Default": null
},
"uniqueName": "ATM",
"memberId": "id__481",
"previousSiblingsCount": 1,
"parentName": "Payment Type",
"shareMembers": null,
"hierarchy": "MULTIPLEHIERARCHYNOTENABLED"
},
{
"name": "Check",
"dimensionName": "Payment Type",
"generationNumber": 2,
"aliases": {
"Default": null
},
"uniqueName": "Check",
"memberId": "id__482",
"previousSiblingsCount": 2,
"parentName": "Payment Type",
"shareMembers": null,
"hierarchy": "MULTIPLEHIERARCHYNOTENABLED"
},
{
"name": "Credit Card",
"dimensionName": "Payment Type",
"generationNumber": 2,
"aliases": {
"Default": null
},
"uniqueName": "Credit Card",
"memberId": "id__483",
"previousSiblingsCount": 3,
"parentName": "Payment Type",
"shareMembers": null,
"hierarchy": "MULTIPLEHIERARCHYNOTENABLED"
}
],
"hasMore": false,
"totalResults": 4,
"limit": 50,
"count": 4,
"offset": 0,
"links": []
}
Search Members
Script with cURL Command
The following example shows how to search for a member in an Essbase cube outline, using the keyword TV
.
call properties.bat
curl -X GET "https://myserver.example.com:9001/essbase/rest/v1/outline/ASOSamp/Basic?links=none&keyword=TV" -H Accept:application/json -H Content-Type:application/json -o output_search.json -u %User%:%Password%
Example of Response Body
The following information is written to output_search.json
:
{
"items": [
{
"name": "TV Direct",
"dimensionName": "Stores",
"numberOfChildren": 24,
"levelNumber": 1,
"generationNumber": 3,
"aliases": {
"Default": null
},
"uniqueName": "TV Direct",
"memberId": "id__658",
"descendantsCount": 24,
"previousSiblingsCount": 9,
"parentName": "Brick & Mortar",
"shareMembers": null,
"hierarchy": "NOTHIERARCHY"
},
{
"name": "TVs Online",
"dimensionName": "Stores",
"numberOfChildren": 12,
"levelNumber": 1,
"generationNumber": 3,
"aliases": {
"Default": null
},
"uniqueName": "TVs Online",
"memberId": "id__747",
"descendantsCount": 12,
"previousSiblingsCount": 3,
"parentName": "Online",
"shareMembers": null,
"hierarchy": "NOTHIERARCHY"
}
],
"hasMore": false,
"totalResults": 2,
"limit": 2,
"count": 2,
"offset": 0,
"links": []
}