アプリケーション・データソースの取得
/essbase/rest/v1/applications/{applicationName}/datasources/{datasourceName}
指定されたアプリケーションレベル・データソースについて詳細を返します。
リクエスト
- applicationName(required): string
アプリケーション名。
- datasourceName(required): string
データソース名
レスポンス
- application/json
- application/xml
200 レスポンス
OK
データソースの詳細が正常に返されました。
object
- application(required): string
データソースのtypeがESSBASEである場合に適用可能。Essbaseアプリケーション名。
- columns(required): object ColumnsType
- connection(required): string
このデータソースで使用される接続。
- cube(required): string
データソースのtypeがESSBASEである場合に適用可能。Essbaseデータベース名。
- customDelimiter: string
delimiterに指定されている値が
Custom
である場合の、データ・レコードのカスタム・デリミタ。 - delimeter: string
データソースのtypeが
DELIMITEDFILE
である場合の、データ・レコードのデリミタ。デリミタは、CSVフォーマットの場合はComma
、タブ区切りフォーマットの場合はTab
にできます。カスタム・デリミタを使用するには、値Custom
を使用し、デリミタをcustomDelimiterの値として指定します。 - description(required): string
このデータソースのオプションの説明。
- endRow: integer(int64)
データソースがExcelファイルまたはテキスト・ファイルである場合の、終了行番号。
- headerRow: integer(int64)
データソースがExcelファイルまたはテキスト・ファイルである場合の、ヘッダー行番号。ヘッダーがない場合は0。
- headers: array headers
- ignoreErrorRecords: boolean
- links: array links
- name: string
データソース名。先頭は文字である必要があります。文字、アンダースコア文字および数字のみを含めることができます。
- query(required): string
データソースに関連付けられている問合せ。たとえば、外部データベースの場合はSQL問合せ、または別のEssbaseキューブの場合はMDX問合せ。問合せによって、このデータソース内の使用可能にするデータが選択されます。
- queryParameters: array queryParameters
データソース問合せがパラメータ化されている場合の、パラメータ実装詳細。たとえば、問合せ
select * from profit_data where year=?
のように、パラメータを渡すための?
プレースホルダが問合せに含まれる場合、実装詳細を定義する必要があります。 - sheet(required): string
データソースがExcelファイルである場合の、ワークシート名。
- skipHiddenRows: boolean
- startRow(required): integer(int64)
オプション(指定されていない場合、デフォルトは1です)。データソースがExcelファイルまたはテキスト・ファイルである場合の、(headerRowが存在する場合はこれを除いた)データ開始行番号。たとえば、headerRowが1として指定され、startRowが10として指定されている場合、実際のデータ開始行は11になります。
- type(required): string
指定可能な値:
[ "TEMPLATE", "EXCELFILE", "DB", "DELIMITEDFILE", "FIXEDWIDTHFILE", "BI", "ESSBASE", "JDBC", "SPARK", "MS_SQL", "MYSQL", "DB2", "ORACLE", "FILE" ]
- widths(required): array widths
array
データソース問合せがパラメータ化されている場合の、パラメータ実装詳細。たとえば、問合せselect * from profit_data where year=?
のように、パラメータを渡すための?
プレースホルダが問合せに含まれる場合、実装詳細を定義する必要があります。
object
- format: string
- index: integer(int32)
- name: string
- nullable: boolean
- system: boolean
- type: string
指定可能な値:
[ "STRING", "DOUBLE", "DATE", "TIMESTAMP", "LONG" ]
object
- defaultValue: string
実行時にパラメータに無効なコンテキストがある場合に、データソースがフォールバックとして使用する固定のデフォルト・パラメータ値。例: Jan。データソース問合せがパラメータ化されており(パラメータを渡すための
?
プレースホルダが含まれている)、かつプレースホルダが代替変数を参照することも、外部ソースで開発されたユーザー定義関数を参照することも意図されていない場合にのみ必須。 - index: integer(int32)
データソース問合せパラメータの順序インデックス。たとえば、最初のパラメータの場合は1、2番目のパラメータの場合は2、など。
- name: string
各自のユースケースに対して意味のある、データソース問合せパラメータのオプションの名前。たとえば、Param1のかわりにparam_G_monthを使用して、そのパラメータで現在の月のグローバル変数を使用することを示したり、名前をparam_appName_monthに変更して、そのパラメータで現在の月のアプリケーション・レベルの変数を使用することを示すことができます。
- required: boolean
データソース問合せパラメータが必須の場合はtrue、それ以外の場合はfalse。
- subVariableName: string
useSubVariableがtrueの場合、Essbase代替変数の名前。
- type: string
指定可能な値:
[ "STRING", "DOUBLE", "DATE", "TIMESTAMP", "LONG" ]
データソース問合せパラメータのデータ型。
- useSubVariable: boolean
データソース問合せパラメータでEssbase代替変数を参照する場合はtrue、それ以外の場合はfalse。
400 レスポンス
不正なリクエスト
データソース詳細の取得に失敗しました。
例
次の例では、特定のアプリケーションレベル・データソースの詳細を取得する方法を示します。データソースは外部データベース、カタログ内のファイルまたは別のEssbaseキューブに関連付けることができます。
これら例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat
内でその変数値が設定されています。
cURLコマンドを含むスクリプト - Oracle Database
次の例では、アプリケーションSampleに定義されているOracle Database用のデータソースの詳細を取得します。
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%
レスポンス本体の例
次の例では、レスポンス本体の内容をJSON形式で示します。
{
"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" : [ ]
}
cURLコマンドを含むスクリプト - Essbase
次の例では、別のEssbaseキューブを指しているデータソースの詳細を取得します。
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%
レスポンス本体の例 - Essbase
次の例では、レスポンス本体の内容をJSON形式で示します。
{
"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" : [ ]
}
cURLコマンドを含むスクリプト - ファイル
次の例では、カタログ内のファイルに関連付けられているデータソースの詳細を取得します。
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%
レスポンス本体の例 - ファイル
次の例では、レスポンス本体の内容をJSON形式で示します。
{
"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" : [ ]
}