Get Application Datasource
/essbase/rest/v1/applications/{applicationName}/datasources/{datasourceName}
Returns details about the specified application-level Datasource.
Request
-
applicationName(required): string
Application name.
-
datasourceName(required): string
Datasource name
Response
- application/json
- application/xml
200 Response
OK
Datasource details returned successfully.
object
-
application(required):
string
Applicable if the type of Datasource is ESSBASE. The Essbase application name.
-
columns(required):
object ColumnsType
-
connection(required):
string
Connection used for this Datasource.
-
cube(required):
string
Applicable if the type of Datasource is ESSBASE. The Essbase database name.
-
customDelimiter:
string
Custom delimiter of the data records, if the value provided for delimiter is
Custom
. -
delimeter:
string
Delimiter of the data records, if Datasource type is
DELIMITEDFILE
. Delimiter can beComma
for CSV format orTab
for tab-separated format. To use a custom delimiter, use valueCustom
, and provide the delimiter as a value to customDelimiter. -
description(required):
string
Optional description of this Datasource.
-
endRow:
integer(int64)
For a Datasource that is an Excel or text file, the ending row number.
-
headerRow:
integer(int64)
For a Datasource that is an Excel or text file, the header row number. 0 if there is no header.
-
headers:
array headers
-
ignoreErrorRecords:
boolean
-
links:
array links
-
name:
string
Datasource name. Must begin with a letter. Can contain only letters, underscore character, and digits.
-
query(required):
string
Query associated with the Datasource. For example, a SQL query for an external database, or an MDX query for another Essbase cube. The query selects which data you want to make available in this Datasource.
-
queryParameters:
array queryParameters
Parameter implementation details, if the Datasource query is parameterized. For example, if the query includes a
?
placeholder for passing a parameter, as in the following query:select * from profit_data where year=?
, then you need define the implementation details. -
sheet(required):
string
For a Datasource that is an Excel file, the worksheet name.
-
skipHiddenRows:
boolean
-
startRow(required):
integer(int64)
Optional (default is 1 if not given). For a Datasource that is an Excel or text file, the starting data row number, excluding headerRow if one exists. For example, if headerRow is specified as 1 and startRow is specified as 10, the actual starting data row will be 11.
-
type(required):
string
Allowed Values:
[ "TEMPLATE", "EXCELFILE", "DB", "DELIMITEDFILE", "FIXEDWIDTHFILE", "BI", "ESSBASE", "JDBC", "SPARK", "MS_SQL", "MYSQL", "DB2", "ORACLE", "FILE" ]
-
widths(required):
array widths
array
Parameter implementation details, if the Datasource query is parameterized. For example, if the query includes a ?
placeholder for passing a parameter, as in the following query: select * from profit_data where year=?
, then you need define the implementation details.
object
-
format:
string
-
index:
integer(int32)
-
name:
string
-
nullable:
boolean
-
system:
boolean
-
type:
string
Allowed Values:
[ "STRING", "DOUBLE", "DATE", "TIMESTAMP", "LONG" ]
object
-
defaultValue:
string
A fixed, default parameter value that the Datasource should use as a fallback in case the parameter has an invalid context at runtime. Example: Jan. Required only if the Datasource query is parameterized (it includes a
?
placeholder for passing a parameter) AND the placeholder is not intended to reference a substitution variable nor a user-defined function developed in the external source. -
index:
integer(int32)
Ordinal index of the Datasource query parameter. For example, 1 for the first parameter, 2 for the second parameter, etc.
-
name:
string
Optional name for the Datasource query parameter, meaningful for your use case. For example, instead of Param1 you can use param_G_month to indicate that the parameter uses a global variable for the current month, or you can rename it to param_appName_month to indicate that the parameter uses an application-level variable for the current month.
-
required:
boolean
true if the Datasource query parameter is required, or false otherwise.
-
subVariableName:
string
If useSubVariable is true, the name of an Essbase substitution variable.
-
type:
string
Allowed Values:
[ "STRING", "DOUBLE", "DATE", "TIMESTAMP", "LONG" ]
Datatype of the Datasource query parameter.
-
useSubVariable:
boolean
true if the Datasource query parameter references an Essbase substitution variable, or false otherwise.
400 Response
Bad Request
Failed to get Datasource details.
Examples
The following examples show how to get details about specific application-level Datasources. A Datasource can be associated with an external database, a file in the catalog, or another Essbase cube.
These examples use 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 - Oracle Database
The following example gets details about a Datasource for Oracle Database, defined on application Sample.
call properties.bat
curl -X GET "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/datasources/OracleDB_DS?links=none" -H Accept:application/json -u %User%:%Password%
Example of Response Body
The following example shows the contents of the response body in JSON format.
{
"name" : "OracleDB_DS",
"description" : "Datasource for ORCL current month only",
"connection" : "SAMPLE.OracleDB",
"type" : "DB",
"columns" : {
"Column" : [ {
"name" : "DIMENSION_PRODUCT",
"type" : "STRING",
"index" : 1,
"system" : false
}, {
"name" : "DIMENSION_MARKET",
"type" : "STRING",
"index" : 2,
"system" : false
}, {
"name" : "DIMENSION_YEAR",
"type" : "STRING",
"index" : 3,
"system" : false
}, {
"name" : "DIMENSION_SCENARIO",
"type" : "STRING",
"index" : 4,
"system" : false
}, {
"name" : "SALES",
"type" : "DOUBLE",
"index" : 5,
"system" : false
}, {
"name" : "COGS",
"type" : "DOUBLE",
"index" : 6,
"system" : false
}, {
"name" : "MARKETING",
"type" : "DOUBLE",
"index" : 7,
"system" : false
}, {
"name" : "PAYROLL",
"type" : "DOUBLE",
"index" : 8,
"system" : false
}, {
"name" : "MISC",
"type" : "DOUBLE",
"index" : 9,
"system" : false
}, {
"name" : "INITIAL_INVENTORY",
"type" : "DOUBLE",
"index" : 10,
"system" : false
}, {
"name" : "ADDITIONS",
"type" : "DOUBLE",
"index" : 11,
"system" : false
} ]
},
"query" : "select * from SB_DATA where dimension_year=?",
"queryParameters" : [ {
"index" : 1,
"name" : "Param1",
"required" : false,
"useSubVariable" : true,
"subVariableName" : "CurrMonth",
"type" : "STRING"
} ],
"links" : [ ]
}
Script with cURL Command - Essbase
The following example gets details about a Datasource that is pointing to another Essbase cube.
call properties.bat
curl -X GET "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/datasources/Essbase2_DS?links=none" -H Accept:application/json -u %User%:%Password%
Example of Response Body - Essbase
The following example shows the contents of the response body in JSON format.
{
"name" : "Essbase2_DS",
"description" : "Essbase instance 2",
"connection" : "SAMPLE.Essbase2",
"type" : "ESSBASE",
"columns" : {
"Column" : [ {
"name" : "Product",
"type" : "STRING",
"index" : 1,
"system" : false
}, {
"name" : "Market",
"type" : "STRING",
"index" : 2,
"system" : false
} ]
},
"query" : "SELECT\n {Market}\nON COLUMNS,\n {Product}\nON ROWS\nFROM Sample.Basic",
"application" : "Sample",
"cube" : "Basic",
"queryParameters" : [ ],
"links" : [ ]
}
Script with cURL Command - File
The following example gets details about a Datasource that is associated with a file in the catalog.
call properties.bat
curl -X GET "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/datasources/UserDetails_DS?links=none" -H Accept:application/json -u %User%:%Password%
Example of Response Body - File
The following example shows the contents of the response body in JSON format.
{
"name" : "UserDetails_DS",
"description" : "User details repository",
"connection" : "SAMPLE.UserDetails",
"type" : "DELIMITEDFILE",
"delimiter" : "Comma",
"headerRow" : 1,
"startRow" : 1,
"columns" : {
"Column" : [ {
"name" : "USERNAME",
"type" : "STRING",
"index" : 0,
"system" : false
}, {
"name" : "COUNTRY",
"type" : "STRING",
"index" : 1,
"system" : false
}, {
"name" : "COSTCENTER",
"type" : "STRING",
"index" : 2,
"system" : false
}, {
"name" : "CURRENCY",
"type" : "STRING",
"index" : 3,
"system" : false
}, {
"name" : "MANAGERNAME",
"type" : "STRING",
"index" : 4,
"system" : false
}, {
"name" : "COMPANYNAME",
"type" : "STRING",
"index" : 5,
"system" : false
}, {
"name" : "BUSINESSUNIT",
"type" : "STRING",
"index" : 6,
"system" : false
}, {
"name" : "OFFICE",
"type" : "STRING",
"index" : 7,
"system" : false
} ]
},
"queryParameters" : [ ],
"links" : [ ]
}