パーティションのメンバーのマッピング
パーティションを作成するには、Essbaseでデータソースのすべての共有メンバーをデータ・ターゲットのメンバーにマッピングできる必要があります。特に、パーティションがメンバー属性に基づいている場合は、パーティションのメンテナンス要件を減らすために、データソースのメンバー名とデータ・ターゲットのメンバー名を同じにすることをお薦めします。
データソースとデータ・ターゲットのメンバー数が同じで、同じメンバー名を使用している場合は、Essbaseによって自動的にメンバーがマップされます。ユーザーが行う必要があるのは、パーティションの検証、保存およびテストのみです。Essbaseによって自動的にマップされない場合は、手動でマップする必要があります。
次のいずれかの方法を使用して、データソースのメンバーをデータ・ターゲットのメンバーにマップします。
-
メンバー名を手動で入力するか、選択します。重複するメンバー名を入力する場合は、
“[State].[New York]”
のように、修飾メンバー名を入力して二重引用符で囲みます。 -
外部のデータ・ファイルからメンバーのマッピングをインポートします。
-
領域固有マッピングを作成します。
この項の内容:
異なる名前を持つメンバーのマッピング
データソースのアウトラインとデータ・ターゲットのアウトラインに含まれるメンバーが異なる場合や、各アウトラインのメンバーの名前が異なる場合は、データソースのメンバーをデータ・ターゲットのメンバーにマップする必要があります。次の例では、最初の2つのメンバー名は同じですが、3番目のメンバー名は異なります。
Source Target
Product Product
Cola Cola
Year Year
1998 1998
Market Market
East East_Region
データソースのEastはデータ・ターゲットのEast_Regionに対応することがわかっているため、EastをEast_Regionにマップします。これにより、データ・ターゲットのEast_Regionへのすべての参照がデータソースのEastを指し示すようになります。たとえば、データソースのCola、1998、Eastのデータ値が15の場合、データ・ターゲットのCola、1998、East_Regionのデータ値は15になります。
追加のディメンションを含むデータ・キューブのマッピング
データソースとデータ・ターゲットのディメンション数が異なる場合があります。次の例は、データソースのアウトラインにデータ・ターゲットのアウトラインよりも多くのディメンションがある場合を示しています。
Source Target
Product Product
Cola Cola
Market Market
East East
Year
1999
1998
1997
Yearディメンションのメンバー1997をデータ・ターゲットのVoidにマップできます。まず、データ・ターゲットと共有するデータソースの領域を定義します。
Source Target
@DESCENDANTS(Market), 1997 @DESCENDANTS(Market)
次に、データソースのメンバーをデータ・ターゲットのVoidにマップします。
Source Target
1997 Void
Voidは自動的に表示されます。Voidを手動で入力すると、エラーが発生する場合があります。
領域定義に追加のディメンションのメンバーが1つも含まれていない場合、パーティションを検証しようとするとエラー・メッセージが表示されます。
ノート:
追加のディメンションのメンバーをマップすると、結果のパーティションにはマップされたメンバーのデータのみが反映されます。前述の例では、Yearディメンションには1999、1998および1997の3つのメンバーが含まれています。データソースのメンバー1997をデータ・ターゲットにマップすると、結果のパーティションには1997のProductおよびMarketのデータが反映されます。1998と1999のProductとMarketのデータは抽出されません。
次の例は、データ・ターゲットにデータソースよりも多くのディメンションが含まれている場合を示しています。
Source Target
Product Product
Cola Cola
Market
East
Year Year
1997 1997
このような場合は、最初にデータソースとデータ・ターゲットの共有領域を定義します。
Source Target
@IDESCENDANTS(Product) @IDESCENDANTS(Product), East
次に、メンバーEastをデータ・ターゲットのMarketディメンションからデータソースのVoidにマップします。
Source Target
Void East
データ・ターゲットのMarketディメンションのメンバーEastがターゲット領域の定義に含まれていない場合、パーティションを検証しようとするとエラー・メッセージが表示されます。
共有メンバーのマッピング
共有メンバーを使用して複製または透過パーティションを作成する場合は、マッピングでプロトタイプ・メンバー名を使用します。Essbaseによってデータソースのプロトタイプ・メンバーがマップされます。
メンバーに関連付けられた属性のマッピング
パーティションを有効にするには、属性のディメンションとメンバーをデータソースからデータ・ターゲットに正確にマップする必要があります。
透過パーティションの属性をマップできます。パーティションにおける属性を参照してください。
次の例では、データソースのアウトラインに、メンバー100 (Cola)を持つProductディメンションが含まれています。子100-10と100-20はCaffeinated属性ディメンションのメンバーTRUEに、子100-30はCaffeinated属性ディメンションのメンバーFALSEに関連付けられています。
データ・ターゲットのアウトラインには、メンバー200 (Cola)を持つProductディメンションが含まれています。子200-10と200-20はWith_Caffeine属性ディメンションのメンバーYesに、子200-30はWith_Caffeine属性ディメンションのメンバーNoに関連付けられています。
まず、データソースからデータ・ターゲットに共有する領域を定義します。
Source Target
@DESCENDANTS(100) @DESCENDANTS(200)
@DESCENDANTS(East) @DESCENDANTS(East)
次に、属性をマップします。
Source Target
100–10 200–10
100–20 200–20
100–30 200–30
Caffeinated With Caffeine
Caffeinated_True With_Caffeine_True
Caffeinated_False With_Caffeine_False
属性Caffeinated_Trueを属性With_Caffeine_Noにマップすると、検証中にエラー・メッセージが表示されます。データソースのカフェイン入りコーラをデータ・ターゲットのカフェイン入りコーラに関連付ける必要があります。
属性ディメンションまたは属性メンバーはデータソースのアウトラインに存在できますが、データ・ターゲットのアウトラインには存在できません。または、データ・ターゲットのアウトラインに存在できますが、データソースのアウトラインには存在できません。例:
Source Target
Caffeinated
True
False
このような場合、次の選択肢があります。
-
データ・ターゲットのアウトラインにCaffeinated属性ディメンションとそのメンバーを作成してProductディメンションに関連付けます。次に、データソースからデータ・ターゲットに属性をマップします。
-
データソースのCaffeinated属性ディメンションをデータ・ターゲットのVoidにマップします。
詳細領域固有マッピングの作成
標準のメンバー・マッピングを使用して、データソースのすべてのメンバーをデータ・ターゲットの対応するメンバーにマップできる場合は、詳細領域固有マッピングを実行する必要はありません。
ただし、Essbaseでメンバーがどのようにマップされるかをより詳細なレベルで制御する必要がある場合は、領域固有マッピングを使用することが必要になることがあります。領域固有マッピングでは、特定の領域マップのコンテキストでのみ、領域のメンバーを別の領域のメンバーにマップできます。
領域間マッピングでは、次の処理を実行できます。
-
データの取得元に応じて、データを異なる方法でマップします。
-
データソースの複数のメンバーを、データ・ターゲットの単一のメンバーにマップします。
Essbaseではデータソースの複数のメンバーをデータ・ターゲットの単一のメンバーにどのようにマップするかを判断できないため、データのサブセットに1つのマッピング・ルールを適用できるようになるまでデータを分割する方法を論理的に決定する必要があります。次に、領域固有マッピングのコンテキストでそのルールを使用して、メンバーをマップします。
例11-1 例1: 詳細領域固有マッピング
データソースとデータ・ターゲットには、次のディメンションおよびメンバーが含まれています。
Source Target
Product Product
Cola Cola
Market Market
East East
Year Year
1998 1998
1999 1999
Scenario
Actual
Budget
データソースにはScenarioディメンションがありません。かわりに、過去のデータは実績データ、将来のデータは予測データまたは予算データとみなされます。
データソースの1998はデータ・ターゲットの1998, Actualに、データソースの1999はデータ・ターゲットの1999, Budgetに対応することがわかっています。したがって、たとえばデータソースのCola, East, 1998のデータ値が15の場合、データ・ターゲットのCola, East, 1998, Actualのデータ値は15になります。
マッピングはメンバーの組合せではなくメンバーに対して機能するため、単に1998を1998, Actualにマップすることはできません。領域(1998と1998, Actual)を定義し、この領域の領域固有マッピング・ルールを作成します。
また、データソースにはActualメンバーとBudgetメンバーがないため、これらのメンバーをデータ・ターゲットのVoidにマップする必要があります。
例11-2 例2: 詳細領域固有マッピング
データソースとデータ・ターゲットの構造が大きく異なっていても、同じ種類の情報が含まれている場合は、詳細領域固有マッピングを使用できます。
この戦略は、たとえば、データソースとデータ・ターゲットに次のディメンションおよびメンバーが含まれている場合に有益です。
Source Target
Market Customer_Planning
NY NY_Actual
CA NY_Budget
CA_Actual
CA_Budget
Scenario
Actual
Budget
データソースのNYとActualはデータ・ターゲットのNY_Actualに、データソースのNYとBudgetはデータ・ターゲットのNY_Budgetに対応することがわかっています。したがって、たとえばデータソースのNY, Budgetのデータ値が28の場合、データ・ターゲットのNY_Budgetのデータ値は28になります。
マッピングはメンバーの組合せではなくメンバーに対して機能するため、単にNY, ActualをNY_Actualにマップすることはできません。領域(NYとActual、およびNY_Actual)を定義し、この領域の領域固有マッピング・ルールを作成します。
また、データ・ターゲットにはNYメンバーとCAメンバーがないため、データソースからデータ・ターゲットに設定されるときにディメンショナリティが完成するように、これらのメンバーをデータ・ターゲットのVoidにマップする必要があります。