バッチ・アウトライン編集の実行
/essbase/rest/v1/applications/{application}/databases/{database}/boe
バッチ・アウトライン編集プロセスを実行します。 XMLまたはJSON本文に基づいて、アクティブなキューブのアウトラインに対してメンバーを追加または削除します。
要求
- application/json
- application/xml
- application: string
アプリケーション名
- database: string
データベース名
バッチ・アウトラインJSON/XML。
object
- editActions(optional): array editActions
実行するアウトライン編集アクション。 それぞれの詳細は、例を参照してください。
- otlUpdate - アウトラインのプロパティの変更
- mbrUpdate - メンバー・プロパティの変更
- mbrAdd - メンバーの追加
- mbrDelete - メンバーの削除
- mbrRename - メンバーの名前変更
- mbrMove - メンバーの移動
- mbrAssoc - メンバー属性の関連付けの作成または削除
- dimAdd - ディメンションの追加
- smartListAddOrUpdate - テキスト・リストを追加または更新
- dimUpdate - ディメンション名またはプロパティの変更
- dimAssoc - ディメンション属性の関連付けの作成または削除
- markForDelete - 削除するディメンションをマーク
- deleteMarked - マークされたディメンションの削除
- sortChildren - 階層のソート
- jsonformatLog(optional): boolean
- keepTransaction(optional): boolean
トランザクションを保持するかどうか:
true
またはfalse
- otlVersion(optional): integer
- restructOption(optional): string
許可される値:
[ "ALL_DATA", "NO_DATA", "LOW_DATA", "IN_DATA" ]
再構築オプション。 すべての既存データを保持する場合は
ALL_DATA
、すべての既存データを保持する場合はNO_DATA
、既存のレベル0ブロックを保持する場合はLOW_DATA
、既存の入力レベル・ブロックを保持する場合はIN_DATA
(ブロック・ストレージにのみ適用)。 - validate(optional): boolean
アウトラインを検証するかどうか:
true
またはfalse
- validateFormulas(optional): 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,数値: genNum} | オプション。 指定した世代番号(たとえば、2 )で事前定義済の動的時系列メンバー(たとえば、Q-T-D )を有効にします。 |
setDtsMbrAlias: {dtsAlias {aliasTable: name,別名: value}、mbrName: name} | オプション。 動的時系列メンバーの別名を関連付けます。 |
attributeSpec | オプション。 属性dimensions.The設定のメンバー名を処理するための仕様は、次のとおりです:
|
enableMemberType: true|false | オプション。 trueの場合、このアウトラインの型付きメジャーを使用可能にします。 |
autoConfigure: true|false | オプション。 trueの場合、ブロック・ストレージ・アウトラインが保存されると、ディメンション・ストレージが自動的に密または疎として構成されます。 |
mbrUpdate
このアクションを使用して、メンバー・プロパティを変更します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。 この操作のフォーカスであるメンバー。 |
mbrInfo | 更新可能なメンバー情報。 次のオプションがあります:
|
isMbrId: true | false | オプション。 trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。 メンバーIDは、アウトラインのメンバーを識別する一意のキーです。 メンバーIDは、duplicate-member-namesが使用可能になっているアウトラインで必要です。 |
mbrAdd
このアクションを使用して、メンバーを追加します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
mbrInfo | オプション。 mbrUpdateで定義されているメンバー情報。 |
mbrName: mbrName | 必須。 メンバー名 |
parent: mbrName | 必須。 追加するメンバーの親。 |
preSibling: mbrName | オプション。 追加するメンバーの前の兄弟。 省略すると、新しいメンバーは親の最初の子に追加されます。 |
isMbrId: true | false | オプション。 trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。 メンバーIDは、アウトラインのメンバーを識別する一意のキーです。 メンバーIDは、duplicate-member-namesが使用可能になっているアウトラインで必要です。 |
mbrDelete
このアクションを使用して、メンバー(ディメンションを含む)を削除します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。 この操作のフォーカスであるメンバー。 |
isMbrId: true | false | オプション。 trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。 メンバーIDは、アウトラインのメンバーを識別する一意のキーです。 メンバーIDは、duplicate-member-namesが使用可能になっているアウトラインで必要です。 |
mbrRename
このアクションを使用して、メンバー(ディメンションを含む)の名前を変更します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。 この操作のフォーカスであるメンバー。 |
mbrName: mbrName | 必須。 新規メンバー名。 |
isMbrId: true | false | オプション。 trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。 メンバーIDは、アウトラインのメンバーを識別する一意のキーです。 メンバーIDは、duplicate-member-namesが使用可能になっているアウトラインで必要です。 |
mbrMove
このアクションを使用して、メンバーを移動します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。 この操作のフォーカスであるメンバー。 |
parent: mbrName | 必須。 メンバーの親(新しいロケーション)。 |
preSibling: mbrName | オプション。 メンバーの前の兄弟(新しいロケーション)。 省略すると、メンバーは親の最初の子として追加されます。 |
isMbrId: true | false | オプション。 trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。 メンバーIDは、アウトラインのメンバーを識別する一意のキーです。 メンバーIDは、duplicate-member-namesが使用可能になっているアウトラインで必要です。 |
mbrAssoc
このアクションを使用して、メンバー属性の関連付けを作成または削除します。
オブジェクト(JSON)または要素(XML) | 詳細 |
---|---|
thisMbr: mbrName | 必須。 この操作のフォーカスであるメンバー。 |
attrDim: dimName | 必須。 属性ディメンションの名前。 |
attrMbr: mbrName | 必須。 基本メンバーに関連付ける(または関連付けを解除する)属性メンバーの名前。 |
remove: true | false | オプション。 trueの場合、このアクションは属性関連付けを追加するのではなく、削除します。 デフォルトはfalseです。 |
isMbrId: true | false | オプション。 trueの場合、このアクションのメンバー指定オブジェクトはメンバーIDを使用して渡されます。 メンバーIDは、アウトラインのメンバーを識別する一意のキーです。 メンバーIDは、duplicate-member-namesが使用可能になっているアウトラインで必要です。 |
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は、アウトラインのメンバーを識別する一意のキーです。 メンバーIDは、duplicate-member-namesが使用可能になっているアウトラインで必要です。 |
{
"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://192.0.2.1:443/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"
}
}
]
}