パーティションの更新
/essbase/rest/v1/applications/{applicationName}/databases/{databaseName}/partitions
既存のパーティションを更新します。
透過パーティションまたはレプリケート・パーティションを作成または更新するには、ソース・キューブとターゲット・キューブの両方のユーザー認証が必要です。
リクエスト
- application/json
- application/xml
- applicationName(required): string
アプリケーション名。
- databaseName(required): string
データベース名。
- executeInBackground: boolean
バックグラウンドでパーティションを更新します(フェデレーテッド・パーティションに適用可能)。
デフォルト値:false
パーティション情報。
object
- areas: array areas
- errorMessage: string
パーティション検証に関連付けられているエラー・メッセージ。
- federatedTypeAV: boolean
Autonomous Databaseに対するフェデレーテッド・パーティションが有効かどうか。trueの場合、キューブ・データはAutonomous Data Warehouseに格納され、分析ビュー・オブジェクトがEssbaseメタデータに対して使用されます。
- federatedTypeCR: boolean
廃止。
- id: string
パーティションID。
- isNew: boolean
パーティション定義が新規かどうか。
- links: array links
- locked: boolean
パーティション・オブジェクトがロックされているかどうか。
- mappings: array mappings
- sourceInfo: object ConnectionInfoBean
- targetInfo: object ConnectionInfoBean
- type: string
パーティション・タイプ。TRANSPARENT、REPLICATEDまたはFEDERATED。
- updatable: boolean
パーティション定義を更新できるかどうか。
object
- alterCredentials: boolean
- applicationLevelConnection: boolean
グローバルではなく、アプリケーション・レベルに接続が定義されている場合は、trueと指定する必要があります。
- applicationLevelDatasource: boolean
グローバルではなく、アプリケーション・レベルにデータソースが定義されている場合は、trueと指定する必要があります。
- applicationName: string
アプリケーションの名前。
- connectionName: string
パーティション接続に使用される接続名。単一Essbaseインスタンスの外部にあるデータにアクセスするパーティションの場合、必須です。
- databaseName: string
Essbaseデータベース/キューブの名前。
- datasourceName: string
パーティション接続に使用されるデータソース名。
- description: string
- essbaseToColumnMap: object EsbToColMap
フェデレーテッドEssbaseキューブの場合、ディメンションまたはメンバーをファクト表内の列にマップします。
- essbaseToDataSourceMap: object EssToDsMapDTO
- factTableName: string
数値およびキーを格納するAutonomous Databaseのファクト表の名前。
- isFactManagedByFederatedCube: boolean
true: フェデレーテッド・パーティション・ファクト表が、Autonomous Data Warehouseスキーマ管理者ではなくEssbaseによって管理されている場合。
- measuresDimensionName: string
フェデレーテッド・パーティションに定義されているピボット・ディメンション名。メジャー・ディメンションでも構いませんが、そうである必要はありません。
- password: string
認証情報がパーティション定義に埋め込まれている場合、パーティション・ユーザーのパスワード。
- schemaName: string
データベース・スキーマの名前(フェデレーテッド・パーティションのリポジトリ・データベースとして使用)。
- serverName: string
EssbaseサーバーのURL。
essbase/agent
で終わります。 - userName: string
認証情報がパーティション定義に埋め込まれている場合、パーティション・ユーザー名。
object
- slices: array slices
ソースおよびターゲット・メンバーのマッピングを定義するオプションのスライス定義。ターゲットとソースで一部のメンバーおよびディメンションに異なる名前を使用している場合、Essbaseではこの情報を使用して、ターゲットにデータを入力する方法が決定します。
- sourceArea: string
パーティションのソース領域/リージョン。特定のメンバーのマッピングが含まれるスライスのオプション・リストを指定できます。
- sourceCellCount: integer(int64)
パーティションのソース領域のセル数。透過またはレプリケート・パーティションのソースおよびターゲットの領域には、同じ数のセルが含まれている必要があります。属性ディメンションのセルはセル数に含まれません。
- targetArea: string
パーティションのターゲット領域/リージョン。特定のメンバーのマッピングが含まれるスライスのオプション・リストを指定できます。
- targetCellCount: integer(int64)
パーティションのターゲット領域のセル数。透過またはレプリケート・パーティションのソースおよびターゲットの領域には、同じ数のセルが含まれている必要があります。属性ディメンションのセルはセル数に含まれません。
array
ソースおよびターゲット・メンバーのマッピングを定義するオプションのスライス定義。ターゲットとソースで一部のメンバーおよびディメンションに異なる名前を使用している場合、Essbaseではこの情報を使用して、ターゲットにデータを入力する方法が決定します。
object
- sourceMember: string
ターゲットの一致するリージョンにマップするパーティション・ソースのメンバー名。
- targetMember: string
ソースの一致するリージョンにマップするパーティション・ターゲットのメンバー名。
array
- 配列: object EsbToColMapInfo
フェデレーテッドEssbaseキューブの場合、ディメンションまたはメンバーをファクト表内の列にマップします。
object
フェデレーテッドEssbaseキューブの場合、ディメンションまたはメンバーをファクト表内の列にマップします。
- columnName: string
外部ファクト表の列名。
- essbaseName: string
Essbaseディメンションまたはメンバーの名前。
object
- added: boolean
アウトラインにまだ存在しない新しいディメンションの場合は、trueに設定します。trueの場合、新しいディメンションがディメンション構築中に作成されます。falseの場合、新しいディメンションのディメンション構築は失敗します。
- addMemberOption: string
指定可能な値:
[ "GENERATION", "SIBLING_LOWEST_LEVEL", "CHILD", "SIBLING_MATCHING_STRING", "LEVEL", "PARENT_CHILD", "GEN_NULLS", "LEVEL_NULLS" ]
このディメンションに含まれるディメンション、メンバーおよび別名を追加、変更または削除する構築方法アルゴリズム。ソース・データのプロパティに基づいている必要があります。たとえば、各レコードで親、その後に子メンバーをこの順序で指定している場合、PARENT_CHILDが適切な方法です。
- aggregateLevelUsage: integer(int32)
- allowassociationChanges: boolean
- allowFormulaChanges: boolean
- allowMoves: string
指定可能な値:
[ "NOTOK", "OK", "IGNORE", "GEN2", "NOTGEN2" ]
メンバーおよびその子を新しい親に移動できるようにする場合はOKに設定し、Essbaseがプライマリ・メンバーを認識してそれらをソース・データと照合できるようにします。重複メンバーのアウトラインには使用できません。updateOption =
RESET_DIMENSION
の場合は、NOTOKのままにします。 - allowPropertyChanges: boolean
- allowUDAChanges: boolean
- attributeOptions: object AttributeOptions
- autoFixSharedMember: boolean
- configOption: string
指定可能な値:
[ "EXISTING", "DENSE", "SPARSE" ]
- createAttributeMembers: boolean
Essbaseで属性メンバーを作成できるようにするには、trueに設定します。falseの場合、Essbaseでは属性メンバーを作成できません。
- dimensionSolveOrder: integer(int32)
ディメンションの解決順。
- flexible: boolean
- generations: array generations
- hierarchyType: string
指定可能な値:
[ "EXISTING", "MULTIPLE", "STORED", "DYNAMIC" ]
このディメンションで複数の階層を有効にする必要がある場合はMULTIPLE (集約ストレージ・キューブにのみ適用可能)。設定をそのままにする場合はEXISTING。集約ストレージ保存階層タイプ(式なし)の場合はSTORED。式を使用して集約する集約ストレージ階層タイプ(勘定科目ディメンションを含む)の場合はDYNAMIC。
- incrementalSort: boolean
Essbaseがソース・データからのすべてのメンバーを処理および追加した後にメンバーをソートする場合は、trueに設定します。
- levels: array levels
- measureOptions: object MeasureOptions
主に勘定科目ディメンションに関連するロード・ルール定義プロパティ。
- memberName: string
子を追加する親メンバーの名前。「次の子として追加」構築方法とともに使用します。
- name: string
- share: boolean
- solveOrder: integer(int32)
ディメンションまたはメンバーが計算される優先度(0から127)。解決順の値が大きいほどそのメンバーは後で計算されることになります。解決順が割り当てられていないメンバーは、そのディメンションから解決順を継承します。
- sortOption: string
指定可能な値:
[ "NONE", "ASCENDING", "DESCENDING" ]
このディメンションの階層内の子をソートするかどうかと、ソート方法: なし(ソートしない)、昇順または降順。
- storageType: string
指定可能な値:
[ "EXISTING", "STORE", "NEVER_SHARE", "LABEL_ONLY", "DYNAMIC_CALC_STORE", "DYNAMIC_CALC" ]
- type: string
指定可能な値:
[ "EXISTING", "NONE", "ACCOUNTS", "TIME", "COUNTRY", "ATTRIBUTES" ]
- unique: string
指定可能な値:
[ "EXISTING", "UNIQUE", "DUPLICATE", "NONE" ]
- updateOption: string
指定可能な値:
[ "MERGE", "REMOVE_UNSPECIFIED", "RESET_DIMENSION" ]
増分ディメンション構築の更新オプション。増分ディメンション構築は、メンバーの追加、移動、削除および順序変更によって既存のディメンションを更新するプロセスです。MERGE (デフォルト)では、新しいメンバーを追加しますが、既存のメンバーも保持します。REMOVE_UNSPECIFIEDでは、ソースで指定されていないメンバーを削除します(addMemberOption =
GENERATION
、LEVEL
またはPARENT_CHILD
の場合のみ使用可能)。メンバーの削除によってレベル0の式のない動的計算メンバーになる場合、アウトラインは無効です。RESET_DIMENSIONは、インデックスベースのルール(つまり、studio =true
)にのみ使用可能です。ディメンションのリセットは、ディメンション全体を再構築します。このオプションでは、増分ディメンション構築中の挿入、順序変更、移動および削除操作を使用可能にし、階層内のメンバーの配置を最後に移動するのではなく、そのままにします。ディメンションのリセットを使用するには、allowMovesをNOTOK
にする必要があります。そうしないと、共有階層を構築できません。
object
- baseDimension: string
- indepDimensions: array indepDimensions
- modified: boolean
- scaassociationMode: string
指定可能な値:
[ "NOOVERWRITE", "OVERWRITE" ]
- scadisAssociationMode: string
指定可能な値:
[ "NOOVERWRITE", "OVERWRITE", "EXTEND" ]
- type: string
指定可能な値:
[ "NUMERIC", "BOOLEAN", "TEXT", "DATE", "EXISTING" ]
object
主に勘定科目ディメンションに関連するロード・ルール定義プロパティ。
- currencyCategory: string
ディメンションが通貨換算アプリケーションに関連付けられている場合は、通貨カテゴリ。これは通貨キューブからの勘定科目メンバーです。例: P&L。
- currencyConversion: string
指定可能な値:
[ "EXISTING", "NONE", "CATEGORY", "NO_CONVERSION" ]
ディメンション構築中に実行する通貨換算アクション。通貨換算しないメンバーにはNO_CONVERSIONのマークを付けます。NONEは、換算しないことを示すのではなく、換算カテゴリが未指定である(つまり、継承される)ことを示します。
- currencyName: string
ディメンションが通貨換算アプリケーションに関連付けられている場合は、通貨名。これは通貨キューブからの国ディメンション・タイプ・メンバーです。例: USD、CND、GPB、EUR
- skip: string
指定可能な値:
[ "NONE", "NA", "MISSING", "ZERO", "MISSING_ZERO" ]
timeBalanceOptionをFIRST、LASTまたはAVERAGEとして設定する場合は、スキップ・プロパティを使用して、欠落値またはゼロ値が出現した場合の親値の計算方法を示します。NONE: 親値を計算するときにデータをスキップしません。MISSING: #MISSINGデータをスキップします。ZERO: ゼロに等しい値をスキップします。MISSING_ZERO: #MISSINGデータとゼロに等しいデータをスキップします。
- timeBalanceOption: string
指定可能な値:
[ "EXISTING", "NONE", "FIRST", "LAST", "AVERAGE" ]
タイム・バランス・プロパティ(使用する場合)。デフォルトでは、時間ディメンション内の親はその子の集計および式に基づいて計算されます。たとえば、Sample.Basicデータベースでは、Qtr1メンバーはその子(Jan、FebおよびMar)の合計です。ただし、タイム・バランス・プロパティを設定すると、親(たとえば、Qtr1)は異なる方法でロールアップされます。
- twoPass: boolean
2パス計算を使用するとしてディメンションにマークを付ける場合はtrue。
- varianceReporting: string
指定可能な値:
[ "EXISTING", "NON_EXPENSE", "EXPENSE" ]
勘定科目メンバーを費用アイテムとして処理します。現在の設定を保持する場合はEXISTING。
object
- name: string
- type: string
指定可能な値:
[ "CONTINUOUS", "DISCRETE" ]
レスポンス
- application/json
- application/xml
204 レスポンス
OK
パーティションが正常に更新されました。
400 レスポンス
不正なリクエスト
パーティションの更新に失敗しました。
500 レスポンス
サーバーの内部エラーです。
例
次の例では、現在のターゲットEssbaseキューブのパーティションを更新する方法を示します。
この例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat
内でその変数値が設定されています。
透過パーティションを更新するcURLコマンドを含むスクリプト
次のREST APIの例では、ターゲット・キューブP_Market.DemoはEssbaseギャラリのサンプルDemo.Basicに基づいています。P_Market.DemoのMarketディメンションは、様々なソース・キューブに対する透過パーティションで構成されます(各市場地域: ボストン、ダラス、シカゴ、他7都市ごとに1つ)。
call properties.bat
curl -X PATCH "https://myserver.example.com:9001/essbase/agent/essbase/rest/v1/applications/P_Market/databases/Demo/partitions" -H "accept: application/json" -H "Content-Type: application/json" --data-binary "@./input_partitioninfo.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、次のJSONペイロードがinput_partitioninfo.json
で配信されます。
{
"type" : "TRANSPARENT",
"isNew": true,
"sourceInfo": {
"serverName": "https://myserver.example.com:9001/essbase/agent",
"applicationName": "P_Boston",
"databaseName": "Demo",
"userName": "username",
"password": "password"
},
"targetInfo": {
"serverName": "https://myserver.example.com:9001/essbase/agent",
"applicationName": "P_Market",
"databaseName": "Demo",
"userName": "username",
"password": "password"
},
"areas": [ {
"sourceArea": "\"Actual\", \"Budget\"",
"targetArea": "\"Actual\", \"Budget\", \"Boston\""
} ],
"mappings": [ {
"targetMember": "\"Boston\""
} ]
}