バッチ・アウトライン編集の実行
/essbase/rest/v1/applications/{application}/databases/{database}/boe
バッチ・アウトライン編集プロセスを実行します。XMLまたはJSON本体に基づいて、アクティブなキューブ内のアウトラインでメンバーを追加または削除します。
リクエスト
- application/json
- application/xml
- application(required): string
アプリケーション名。
- database(required): string
データベース名。
バッチ・アウトラインJSON/XML。
object
- editActions: array editActions
実行するアウトライン編集アクション。それぞれの詳細は、例を参照してしてください。
- otlUpdate - アウトライン・プロパティの変更
- mbrUpdate - メンバー・プロパティの変更
- mbrAdd - メンバーの追加
- mbrDelete - メンバーの削除
- mbrRename - メンバーの名前変更
- mbrMove - メンバーの移動
- mbrAssoc - メンバー属性関連付けの作成または削除
- dimAdd - ディメンションの追加
- smartListAddOrUpdate - テキスト・リストの追加または更新
- dimUpdate - ディメンションの名前またはプロパティの変更
- dimAssoc - ディメンション属性関連付けの作成または削除
- markForDelete - ディメンションを削除対象としてマーク
- deleteMarked - マークされているディメンションの削除
- sortChildren - 階層のソート
- jsonformatLog: boolean
- keepTransaction: boolean
トランザクションを保持するかどうか:
true
またはfalse
- otlVersion: integer
- restructOption: string
指定可能な値:
[ "ALL_DATA", "NO_DATA", "LOW_DATA", "IN_DATA" ]
再構築オプション。既存のすべてのデータを保持するには
ALL_DATA
(これがデフォルト)、既存のすべてのデータを破棄するにはNO_DATA
、既存のレベル0ブロックを保持するにはLOW_DATA
(ブロック・ストレージにのみ適用可能)、入力レベルの既存のブロックを保持するにはIN_DATA
(ブロック・ストレージにのみ適用可能)。 - validate: boolean
アウトラインを検証するかどうか:
true
またはfalse
- validateFormulas: boolean
式を検証するかどうか:
true
またはfalse
array
実行するアウトライン編集アクション。それぞれの詳細は、例を参照してしてください。
- otlUpdate - アウトライン・プロパティの変更
- mbrUpdate - メンバー・プロパティの変更
- mbrAdd - メンバーの追加
- mbrDelete - メンバーの削除
- mbrRename - メンバーの名前変更
- mbrMove - メンバーの移動
- mbrAssoc - メンバー属性関連付けの作成または削除
- dimAdd - ディメンションの追加
- smartListAddOrUpdate - テキスト・リストの追加または更新
- dimUpdate - ディメンションの名前またはプロパティの変更
- dimAssoc - ディメンション属性関連付けの作成または削除
- markForDelete - ディメンションを削除対象としてマーク
- deleteMarked - マークされているディメンションの削除
- sortChildren - 階層のソート
object
レスポンス
- application/json
- application/xml
200 レスポンス
OK
バッチ・アウトライン編集が正常に完了しました。
400 レスポンス
不正なリクエスト
バッチ・アウトライン編集の完了に失敗しました。出力が無効か、メタデータ操作の順序が正しくないか、アウトラインの保存に失敗した可能性があります。
例
次の例では、編集リクエストの構築にJSONまたはXMLを使用してEssbase REST APIから実行できる、バッチ・アウトライン編集を説明します。
バッチ・アウトライン編集では、Essbaseアプリケーションおよびキューブの名前をパス・パラメータとして送信し、アウトライン編集仕様を含むJSONまたはXMLオブジェクトをリクエスト本体として送信します。
リクエスト本体で指定できる編集アクション:
- otlUpdate - アウトライン・プロパティの変更
- mbrUpdate - メンバー・プロパティの変更
- mbrAdd - メンバーの追加
- mbrDelete - メンバーの削除
- mbrRename - メンバーの名前変更
- mbrMove - メンバーの移動
- mbrAssoc - メンバー属性関連付けの作成または削除
- dimAdd - ディメンションの追加
- smartListAddOrUpdate - テキスト・リストの追加または更新
- smartListDelete - テキスト・リストの削除
- dimUpdate - ディメンションの名前またはプロパティの変更
- dimAssoc - ディメンション属性関連付けの作成または削除
- markForDelete - ディメンションを削除対象としてマーク
- deleteMarked - マークされているディメンションの削除
- sortChildren - 階層のソート
各編集アクションでは、さらに構文要素が使用されます。その詳細を以下に示します。説明の後にJSONリクエスト本体の例が続きます。
otlUpdate
アウトライン・プロパティを更新するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
dateFormatValue: date_format | オプション。日付フォーマットの仕様。enableMemberTypeがtrueである必要があります。
例(JSON)
説明 次のリテラル文字列のいずれかを使用して、優先する日付フォーマットを示します。
|
aliasTable: name | オプション。追加する別名表(56回まで繰返し可能)。 |
removeAliasTable: name | オプション。削除する別名表(すべての別名表に対して繰返し可能)。 |
disableDtsMbr: {mbrName: name} | オプション。事前定義済の動的時系列メンバーを無効にします。 |
enableDtsMbr {mbrName: name, number: genNum} | オプション。指定された世代番号(たとえば、2 )で、事前定義済の動的時系列メンバー(たとえば、Q-T-D )を有効にします。
|
setDtsMbrAlias: {dtsAlias {aliasTable: name, alias: value}, mbrName: name} | オプション。動的時系列メンバーに対して別名を関連付けます。 |
attributeSpec | オプション。属性ディメンションでメンバー名を扱うための仕様。設定には以下が含まれます。
|
enableMemberType: true|false | オプション。trueの場合は、このアウトラインに対して、タイプ指定したメジャーが有効になります。 |
autoConfigure: true|false | オプション。trueの場合は、ブロックストレージ・アウトラインが保存されるとディメンション・ストレージが自動的に構成されます(密または疎として)。 |
mbrUpdate
メンバー・プロパティを変更するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。この操作の対象であるメンバー。 |
mbrInfo | 更新できるメンバー情報。次のオプションがあります。
|
isMbrId: true | false | オプション。trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。メンバーIDは、アウトライン内でメンバーを識別する一意のキーです。 |
mbrAdd
メンバーを追加するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
mbrInfo | オプション。mbrUpdateで定義されたメンバー情報 |
mbrName: mbrName | 必須。メンバー名。 |
parent: mbrName | 必須。追加されるメンバーの親。 |
preSibling: mbrName | オプション。追加されるメンバーの前の兄弟。省略した場合、新しいメンバーは親の最初の子として追加されます。 |
isMbrId: true | false | オプション。trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。メンバーIDは、アウトライン内でメンバーを識別する一意のキーです。 |
mbrDelete
メンバー(ディメンションを含む)を削除するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。この操作の対象であるメンバー。 |
isMbrId: true | false | オプション。trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。メンバーIDは、アウトライン内でメンバーを識別する一意のキーです。 |
mbrRename
メンバー(ディメンションを含む)の名前を変更するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。この操作の対象であるメンバー。 |
mbrName: mbrName | 必須。新しいメンバー名。 |
isMbrId: true | false | オプション。trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。メンバーIDは、アウトライン内でメンバーを識別する一意のキーです。 |
mbrMove
メンバーを移動するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。この操作の対象であるメンバー。 |
parent: mbrName | 必須。メンバーの親(その新しい場所での)。 |
preSibling: mbrName | オプション。メンバーの前の兄弟(その新しい場所での)。省略した場合、メンバーは親の最初の子として追加されます。 |
isMbrId: true | false | オプション。trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。メンバーIDは、アウトライン内でメンバーを識別する一意のキーです。 |
mbrAssoc
メンバー属性関連付けを作成または削除するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。この操作の対象であるメンバー。 |
attrDim: dimName | 必須。属性ディメンションの名前。 |
attrMbr: mbrName | 必須。基本メンバーと関連付ける(または関連付けを解除する)属性メンバーの名前。 |
remove: true | false | オプション。trueの場合、このアクションでは、属性関連付けが追加されるのではなく削除されます。デフォルトはfalseです。 |
isMbrId: true | false | オプション。trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。メンバーIDは、アウトライン内でメンバーを識別する一意のキーです。 |
dimAdd
ディメンションを追加するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
プロパティ | オプションのディメンション・プロパティ。
|
dimName: dimName | ディメンションの名前 |
preSibling: dimName | オプション。追加されるディメンションの前の兄弟。 |
smartListAdd、smartListUpdate
テキスト・リスト・オブジェクトを追加または更新するには、このアクションを使用します。テキスト・リスト・オブジェクトは、自分の勘定科目ディメンションがテキスト・メジャーを使用するように設計されている場合に、メトリックをテキスト値として格納する方法です。アウトラインでタイプ指定されたメジャーの使用が有効になっている場合は、テキスト・メジャーを実装できます。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
smartlistitem | すべての要素が必要です。
|
smartListName | 追加または更新するテキスト・リストの名前。 |
JSONの例
{
"editActions" :
[
{ "otlUpdate" :
{
"enableMemberType" : "true"
}
},
{
"smartListAdd" :
{
"smartListName": "Customer Satisfaction Level",
"smartlistitem": {
"smartListMissingName": "No Data",
"smartListOutOfRangeName": "Invalid Range",
"smartlistIDTextPair": [
{
"smartListID": "1",
"smartListText": "High"
},
{
"smartListID": "2",
"smartListText": "Medium"
},
{
"smartListID": "3",
"smartListText": "Low"
}
]
}
}
}
]
}
smartListDelete
テキスト・リストを削除するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
smartListName | 削除するテキスト・リストの名前。 |
JSONの例
{
"editActions" :
[
{
"smartListDelete" :
{
"smartListName": "Customer Satisfaction Level"
}
}
]
}
dimUpdate
ディメンションの名前またはプロパティを変更するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
プロパティ | dimAddで定義されたディメンション・プロパティ。 |
dimName: dimName | ディメンションの名前 |
dimAssoc
ディメンション属性関連付けを作成または削除するには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
dimName: dimName | ディメンションの名前 |
attrDim: dimName | 必須。属性ディメンションの名前。 |
remove: true | false | オプション。trueの場合、このアクションでは、属性関連付けが追加されるのではなく削除されます。デフォルトはfalseです。 |
markForDelete
ディメンション内の以前の追加メンバーを削除対象としてマークするには、このアクションを使用します。それらはdeleteMarkedを使用すると削除されます。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
dimName: dimName | ディメンションの名前 |
バッチ・アウトライン編集スクリプトでメンバーをマークおよび削除するには、次のワークフローに従います。
- 新規ディメンションDim1をサンプル・キューブに追加します。
-
Dim1に、
- mbrAを追加します。
- mbrBを追加します。
- mbrCを追加します。
- mbrDを追加します。
-
前に追加したすべてのメンバーを削除対象としてマークします。
-
mbrCとmbrDをもう一度追加します。
-
マークされているメンバーを削除します。
結果:
Dim1 +-mbrC +-mbrD
JSONの例
{
"editActions" :
[
{ "dimAdd" :
{
"dimName" : "Dim1"
}
},
{ "mbrAdd" :
{
"mbrName" : "mbrA",
"parent" : "Dim1"
}
},
{ "mbrAdd" :
{
"mbrName" : "mbrB",
"parent" : "Dim1",
"preSibling" : "mbrA"
}
},
{ "mbrAdd" :
{
"mbrName" : "mbrC",
"parent" : "Dim1",
"preSibling" : "mbrB"
}
},
{ "mbrAdd" :
{
"mbrName" : "mbrD",
"parent" : "Dim1",
"preSibling" : "mbrC"
}
},
{ "markForDelete" :
{
"dimName" : "Dim1"
}
},
{ "mbrAdd" :
{
"mbrName" : "mbrC",
"parent" : "Dim1",
"preSibling" : "mbrB"
}
},
{ "mbrAdd" :
{
"mbrName" : "mbrD",
"parent" : "Dim1",
"preSibling" : "mbrC"
}
},
{ "deleteMarked" :
{
"dimName" : "Dim1"
}
}
]
}
deleteMarked
マークされている追加メンバーを削除するには、このアクションを使用します。ワークフローと例については、markForDeleteを参照してください。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
dimName: dimName | ディメンションの名前 |
sortChildren
階層をソートするには、このアクションを使用します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
mbrName: mbrName | 必須。メンバー名。 |
sortOption | ASCENDINGまたはDESCENDING |
sortRecursive | ソートにすべての子孫を含めます。デフォルトはtrueです。 |
isMbrId: true | false | オプション。trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。メンバーIDは、アウトライン内でメンバーを識別する一意のキーです。 |
{
"editActions" : [
{ "dimAdd" :
{
"dimName" : "Dim1"
}
},
{ "mbrAdd" :
{
"mbrName" : "mbrA",
"parent" : "Dim1"
}
},
{ "mbrAdd" :
{
"mbrName" : "mbrB",
"parent" : "Dim1",
"preSibling" : "mbrA"
}
},
{ "sortChildren" :
{
"mbrName" : "Dim1",
"sortOption" : "DESCENDING",
"sortRecursive" : "false"
}
}
]
}
結果
Dim1
+-mbrB
+-mbrA
cURLコマンドを含むスクリプト
呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat
内でその変数値が設定されています。
このcURLコマンドでは、JSONファイルoutline_edits.json
からアウトライン編集ディレクティブが発行されます。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/boe" -H Accept:application/json -H Content-Type:application/json --data "@./outline_edits.json" -u %User%:%Password%
JSONオブジェクトの例
この例では、JSONフォーマットでのアウトライン編集指示(前述のoutline_edits.json
ファイル)を示します。
{
"editActions" : [
{ "otlUpdate" :{
"enableMemberType" : "true",
"dateFormatValue" : "dd Month yyyy"
}
},
{ "mbrUpdate" :{
"thisMbr" : "Product",
"mbrInfo" : {
"category" : "NONE",
"solveOrder" : "5",
"consolidation" : "+",
"comment" : "Member Comment",
"twoPassCalc" : "false"
},
"isMbrId" : "false"
}
},
{ "mbrUpdate" :{
"thisMbr" : "Sales",
"mbrInfo" : {
"formatStr" : "MdxFormat(IIF(CellValue() < 0, 'Negative','Positive'))"
},
"isMbrId" : "false"
}
},
{ "mbrAdd" :{
"mbrName" : "YTDSales",
"parent" : "Margin",
"preSibling" : "COGS",
"mbrInfo" : {
"formula" : "@ACCUM(Sales);"
},
"isMbrId" : "false"
}
},
{ "mbrRename" :{
"thisMbr" : "YTDSales",
"mbrName" : "YTD_Sales",
"isMbrId" : "false"
}
}
]
}