パーティションの作成

post

/essbase/rest/v1/applications/{applicationName}/databases/{databaseName}/partitions

新しいパーティションを作成します。複数のインスタンスにわたるパーティションの場合は、connectionNameを指定する必要があります。

接続がアプリケーション・レベルで定義されている場合は、プロパティapplicationLevelConnectionをtrueに指定する必要があります。

データソースがアプリケーション・レベルで定義されている場合は、プロパティapplicationLevelDatasourceをtrueに指定する必要があります。

例(必要最小限のプロパティを指定)

TRANSPARENT/REPLICATED (適宜、タイプを変更)

{'type':'TRANSPARENT','isNew':true,'sourceInfo':{'applicationName':'Sample_2','databaseName':'Basic','userName':'username','password':'password'},'targetInfo':{'userName':'username','password':'password'},'areas':[{'sourceArea':'Jan','targetArea':'Jan','slices':[]}],'mappings':[]}

FEDERATED

{'type':'FEDERATED','isNew':true,'sourceInfo':{'datasourceName':'federatedDatasourceExcel1','measuresDimensionName':'Measures','essbaseToColumnMap':{'arr':[{'essbaseName':'Caffeinated','columnName':''},{'essbaseName':'Ounces','columnName':''},{'essbaseName':'Pkg Type','columnName':''},{'essbaseName':'Population','columnName':''},{'essbaseName':'Intro Date','columnName':''}]}},'areas':[{'sourceArea':'Jan','targetArea':'Jan','slices':[]}]}

リクエスト

サポートされているメディア・タイプ
パス・パラメータ
問合せパラメータ
  • バックグラウンドでパーティションを作成します(フェデレーテッド・パーティションに適用可能)。

    デフォルト値: false
本体()

パーティション情報。

ルート・スキーマ : PartitionBean
型: object
ソースの表示
ネストされたスキーマ : areas
型: array
ソースの表示
ネストされたスキーマ : mappings
型: array
ソースの表示
ネストされたスキーマ : ConnectionInfoBean
型: object
ソースの表示
ネストされたスキーマ : AreaBean
型: object
ソースの表示
  • slices

    ソースおよびターゲット・メンバーのマッピングを定義するオプションのスライス定義。ターゲットとソースで一部のメンバーおよびディメンションに異なる名前を使用している場合、Essbaseではこの情報を使用して、ターゲットにデータを入力する方法が決定します。

  • パーティションのソース領域/リージョン。特定のメンバーのマッピングが含まれるスライスのオプション・リストを指定できます。

  • パーティションのソース領域のセル数。透過またはレプリケート・パーティションのソースおよびターゲットの領域には、同じ数のセルが含まれている必要があります。属性ディメンションのセルはセル数に含まれません。

  • パーティションのターゲット領域/リージョン。特定のメンバーのマッピングが含まれるスライスのオプション・リストを指定できます。

  • パーティションのターゲット領域のセル数。透過またはレプリケート・パーティションのソースおよびターゲットの領域には、同じ数のセルが含まれている必要があります。属性ディメンションのセルはセル数に含まれません。

ネストされたスキーマ : slices
型: array

ソースおよびターゲット・メンバーのマッピングを定義するオプションのスライス定義。ターゲットとソースで一部のメンバーおよびディメンションに異なる名前を使用している場合、Essbaseではこの情報を使用して、ターゲットにデータを入力する方法が決定します。

ソースの表示
ネストされたスキーマ : MemberMappingBean
型: object
ソースの表示
  • ターゲットの一致するリージョンにマップするパーティション・ソースのメンバー名。

  • ソースの一致するリージョンにマップするパーティション・ターゲットのメンバー名。

ネストされたスキーマ : EsbToColMap
型: object

フェデレーテッドEssbaseキューブの場合、ディメンションまたはメンバーをファクト表内の列にマップします。

ソースの表示
ネストされたスキーマ : EssToDsMapDTO
型: object
ソースの表示
ネストされたスキーマ : arr
型: array
ソースの表示
  • EsbToColMapInfo

    フェデレーテッドEssbaseキューブの場合、ディメンションまたはメンバーをファクト表内の列にマップします。

ネストされたスキーマ : EsbToColMapInfo
型: object

フェデレーテッドEssbaseキューブの場合、ディメンションまたはメンバーをファクト表内の列にマップします。

ソースの表示
ネストされたスキーマ : dimensions
型: array
ソースの表示
ネストされたスキーマ : Dimension
型: object
ソースの表示
  • アウトラインにまだ存在しない新しいディメンションの場合は、trueに設定します。trueの場合、新しいディメンションがディメンション構築中に作成されます。falseの場合、新しいディメンションのディメンション構築は失敗します。

  • 指定可能な値: [ "GENERATION", "SIBLING_LOWEST_LEVEL", "CHILD", "SIBLING_MATCHING_STRING", "LEVEL", "PARENT_CHILD", "GEN_NULLS", "LEVEL_NULLS" ]

    このディメンションに含まれるディメンション、メンバーおよび別名を追加、変更または削除する構築方法アルゴリズム。ソース・データのプロパティに基づいている必要があります。たとえば、各レコードで親、その後に子メンバーをこの順序で指定している場合、PARENT_CHILDが適切な方法です。

  • 指定可能な値: [ "NOTOK", "OK", "IGNORE", "GEN2", "NOTGEN2" ]

    メンバーおよびその子を新しい親に移動できるようにする場合はOKに設定し、Essbaseがプライマリ・メンバーを認識してそれらをソース・データと照合できるようにします。重複メンバーのアウトラインには使用できません。updateOption = RESET_DIMENSIONの場合は、NOTOKのままにします。

  • AttributeOptions
  • 指定可能な値: [ "EXISTING", "DENSE", "SPARSE" ]
  • Essbaseで属性メンバーを作成できるようにするには、trueに設定します。falseの場合、Essbaseでは属性メンバーを作成できません。

  • ディメンションの解決順。

  • generations
  • 指定可能な値: [ "EXISTING", "MULTIPLE", "STORED", "DYNAMIC" ]

    このディメンションで複数の階層を有効にする必要がある場合はMULTIPLE (集約ストレージ・キューブにのみ適用可能)。設定をそのままにする場合はEXISTING。集約ストレージ保存階層タイプ(式なし)の場合はSTORED。式を使用して集約する集約ストレージ階層タイプ(勘定科目ディメンションを含む)の場合はDYNAMIC。

  • Essbaseがソース・データからのすべてのメンバーを処理および追加した後にメンバーをソートする場合は、trueに設定します。

  • levels
  • MeasureOptions

    主に勘定科目ディメンションに関連するロード・ルール定義プロパティ。

  • 子を追加する親メンバーの名前。「次の子として追加」構築方法とともに使用します。

  • ディメンションに共有メンバーが含まれる場合はtrueに設定します。

  • ディメンションまたはメンバーが計算される優先度(0から127)。解決順の値が大きいほどそのメンバーは後で計算されることになります。解決順が割り当てられていないメンバーは、そのディメンションから解決順を継承します。

  • 指定可能な値: [ "NONE", "ASCENDING", "DESCENDING" ]

    このディメンションの階層内の子をソートするかどうかと、ソート方法: なし(ソートしない)、昇順または降順。

  • 指定可能な値: [ "EXISTING", "STORE", "NEVER_SHARE", "LABEL_ONLY", "DYNAMIC_CALC_STORE", "DYNAMIC_CALC" ]
  • 指定可能な値: [ "EXISTING", "NONE", "ACCOUNTS", "TIME", "COUNTRY", "ATTRIBUTES" ]
  • 指定可能な値: [ "EXISTING", "UNIQUE", "DUPLICATE", "NONE" ]
  • 指定可能な値: [ "MERGE", "REMOVE_UNSPECIFIED", "RESET_DIMENSION" ]

    増分ディメンション構築の更新オプション。増分ディメンション構築は、メンバーの追加、移動、削除および順序変更によって既存のディメンションを更新するプロセスです。MERGE (デフォルト)では、新しいメンバーを追加しますが、既存のメンバーも保持します。REMOVE_UNSPECIFIEDでは、ソースで指定されていないメンバーを削除します(addMemberOption = GENERATIONLEVELまたはPARENT_CHILDの場合のみ使用可能)。メンバーの削除によってレベル0の式のない動的計算メンバーになる場合、アウトラインは無効です。RESET_DIMENSIONは、インデックスベースのルール(つまり、studio = true)にのみ使用可能です。ディメンションのリセットは、ディメンション全体を再構築します。このオプションでは、増分ディメンション構築中の挿入、順序変更、移動および削除操作を使用可能にし、階層内のメンバーの配置を最後に移動するのではなく、そのままにします。ディメンションのリセットを使用するには、allowMovesNOTOKにする必要があります。そうしないと、共有階層を構築できません。

ネストされたスキーマ : AttributeOptions
型: object
ソースの表示
ネストされたスキーマ : generations
型: array
ソースの表示
ネストされたスキーマ : levels
型: array
ソースの表示
ネストされたスキーマ : MeasureOptions
型: object

主に勘定科目ディメンションに関連するロード・ルール定義プロパティ。

ソースの表示
  • ディメンションが通貨換算アプリケーションに関連付けられている場合は、通貨カテゴリ。これは通貨キューブからの勘定科目メンバーです。例: P&L。

  • 指定可能な値: [ "EXISTING", "NONE", "CATEGORY", "NO_CONVERSION" ]

    ディメンション構築中に実行する通貨換算アクション。通貨換算しないメンバーにはNO_CONVERSIONのマークを付けます。NONEは、換算しないことを示すのではなく、換算カテゴリが未指定である(つまり、継承される)ことを示します。

  • ディメンションが通貨換算アプリケーションに関連付けられている場合は、通貨名。これは通貨キューブからの国ディメンション・タイプ・メンバーです。例: USD、CND、GPB、EUR

  • 指定可能な値: [ "NONE", "NA", "MISSING", "ZERO", "MISSING_ZERO" ]

    timeBalanceOptionをFIRST、LASTまたはAVERAGEとして設定する場合は、スキップ・プロパティを使用して、欠落値またはゼロ値が出現した場合の親値の計算方法を示します。NONE: 親値を計算するときにデータをスキップしません。MISSING: #MISSINGデータをスキップします。ZERO: ゼロに等しい値をスキップします。MISSING_ZERO: #MISSINGデータとゼロに等しいデータをスキップします。

  • 指定可能な値: [ "EXISTING", "NONE", "FIRST", "LAST", "AVERAGE" ]

    タイム・バランス・プロパティ(使用する場合)。デフォルトでは、時間ディメンション内の親はその子の集計および式に基づいて計算されます。たとえば、Sample.Basicデータベースでは、Qtr1メンバーはその子(Jan、FebおよびMar)の合計です。ただし、タイム・バランス・プロパティを設定すると、親(たとえば、Qtr1)は異なる方法でロールアップされます。

  • 2パス計算を使用するとしてディメンションにマークを付ける場合はtrue。

  • 指定可能な値: [ "EXISTING", "NON_EXPENSE", "EXPENSE" ]

    勘定科目メンバーを費用アイテムとして処理します。現在の設定を保持する場合はEXISTING。

ネストされたスキーマ : indepDimensions
型: array
ソースの表示
ネストされたスキーマ : IndepDimension
型: object
ソースの表示
ネストされたスキーマ : Level
型: object
ソースの表示
先頭に戻る

レスポンス

サポートされているメディア・タイプ

204 レスポンス

OK

パーティションが正常に作成されました。

400 レスポンス

不正なリクエスト

パーティションの作成に失敗しました。

500 レスポンス

サーバーの内部エラーです。

先頭に戻る

次の例では、現在のターゲットEssbaseキューブのパーティションを定義する方法を示します。

この例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat内でその変数値が設定されています。

透過パーティションまたはレプリケート・パーティションは、別のEssbaseキューブと共有されているキューブのリージョンです。フェデレーテッド・パーティションの場合、データおよびメタデータはAutonomous Data Warehouseに存在します。

ターゲット・キューブとソース・キューブ間に透過またはレプリケート・パーティションを作成して、両者で一致するキューブのリージョンを共有できます。透過またはレプリケート・パーティションを作成する際、ターゲット・キューブにパーティション定義を定義します。これにより、ターゲットで1つ以上のソース・キューブからデータを取得できるようになります。

透過パーティションを作成するcURLコマンドを含むスクリプト

次のREST APIの例では、ターゲット・キューブP_Market.DemoはEssbaseギャラリのサンプルDemo.Basicに基づいています。P_Market.DemoのMarketディメンションは、様々なソース・キューブに対する透過パーティションで構成されます(各市場地域: ボストン、ダラス、シカゴ、他7都市ごとに1つ)。

試す前に、パーティションおよびXREF/XWRITEを使用したキューブのリンクのパーティションの概要情報を確認してください。

call properties.bat
curl -X POST "https://myserver.example.com:9001/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\""
           } ]
}

フェデレーテッド・パーティションを作成するcURLコマンドを含むスクリプト

次の例では、EssbaseとAutonomous Database間にフェデレーテッド・パーティションを作成する方法を示します。試す前に、フェデレーテッド・パーティションを使用したEssbaseとAutonomous Databaseの統合の情報をすべて確認してください。

call properties.bat
curl -X POST "https://192.0.2.1:443/essbase/rest/v1/applications/P_Market/databases/Demo/partitions" -H "accept: application/json" -H "Content-Type: application/json" --data-binary "@./input_fedpartitioninfo.json" -u %User%:%Password%

サンプルのJSONペイロード

前述のcURLの例では、次のJSONペイロードがinput_fedpartitioninfo.jsonで配信されます。

{
   "type": "FEDERATED",
   "isNew": true,
   "sourceInfo": {
       "measuresDimensionName": "Measures",
       "essbaseToColumnMap": {
           "arr": []
	},
       "essbaseToDataSourceMap": {
           "dimensions": [{
               "dimensionName": "Year",
               "generations": [{
                   "generationNumber": 1,
                   "columnName": "YEAR"
                }]
            },
            {
               "dimensionName": "Product",
               "generations": [{
                   "generationNumber": 1,
                   "columnName": "PRODUCT"
                }]
            },
            {
               "dimensionName": "Market",
               "generations": [{
					"generationNumber" : 1,
					"columnName": "MARKET"
				}]
			},
			{
               "dimensionName": "Scenario",
               "generations" : [{
					"generationNumber": 1,
					"columnName": "SCENARIO"
				}]
			},
			{
               "dimensionName": "Additions",
               "isMeasureMember": true,
               "generations": [{
					"generationNumber" : 3,
					"columnName": "ADDITIONS"
				}]
			},
			{
               "dimensionName": "COGS",
               "isMeasureMember": true,
               "generations": [{
					"generationNumber": 4,
					"columnName": "COGS"
				}]
			},
			{
               "dimensionName": "Ending Inventory",
               "isMeasureMember": true,
               "generations": [{
					"generationNumber": 3,
					"columnName": "Ending Inventory"
				}]
			},
			{
               "dimensionName": "Margin %",
               "isMeasureMember": true,
               "generations": [{
					"generationNumber" : 3,
					"columnName": "Margin %"
				}]
			},
			{
               "dimensionName": "Marketing",
				"isMeasureMember": true,
				"generations": [{
					"generationNumber": 4,
					"columnName": "MARKETING"
				}]
			},
			{
               "dimensionName": "Misc",
				"isMeasureMember": true,
				"generations": [{
					"generationNumber": 4,
					"columnName": "MISC"
				}]
			},
			{
               "dimensionName": "Opening Inventory",
				"isMeasureMember": true,
				"generations": [{
					"generationNumber" : 3,
					"columnName": "Opening Inventory"
				}]
			},
			{
               "dimensionName": "Payroll",
				"isMeasureMember": true,
				"generations": [{
					"generationNumber": 4,
					"columnName": "PAYROLL"
				}]
			},
			{
               "dimensionName": "Profit %",
				"isMeasureMember": true,
				"generations": [{
					"generationNumber": 3,
					"columnName": "Profit %"
				}]
			},
			{
               "dimensionName": "Sales",
				"isMeasureMember": true,
				"generations": [{
					"generationNumber": 4,
					"columnName": "SALES"
				}]
			}]
		},
       "applicationLevelConnection": true,
       "connectionName": "conn",
       "schemaName": "AVSCHEMA",
       "factTableName": "SB_DATA"
	},
   "areas": [{
		\"sourceArea\": "\"Additions\", \"COGS\", \"Ending Inventory\", \"Margin %\", \"Marketing\", \"Misc\", \"Opening Inventory\", \"Payroll\", \"Profit %\", \"Sales\"",
		\"targetArea\": "\"Additions\", \"COGS\", \"Ending Inventory\", \"Margin %\", \"Marketing\", \"Misc\", \"Opening Inventory\", \"Payroll\", \"Profit %\", \"Sales\""
	}]
}
先頭に戻る