機械翻訳について

@XREF

データベース計算で、別のEssbaseデータベースからの値を取り込むことができます。

@XREFの説明には、次の用語が使用されます:

  • データ・ターゲット: 現在の計算が実行されているデータベース(@XREFコールが発生したデータベース)。

  • データ・ソース: @XREFによって問合せが行われるデータベース。 このデータベースはリモート(つまり、データ・ターゲットとは異なるマシン上)でもかまいません。

  • 視点: データ・ターゲットで現在計算されているメンバーの組合せ(つまり、計算の左側を識別するメンバーの組合せ)。

@XREF関数は、データ・ターゲットの計算で使用される値をデータ・ソースから取得します。@XREFには、メンバーとディメンションのマッピングの制限はありません。つまり、データ・ソースとデータ・ターゲットのアウトラインは異なる場合があります。

構文

目標に応じて、この関数を呼び出す方法は複数あります。

リモート・キューブから値を組み込むには、次を使用します:

@XREF (locationAlias [, mbrList])

別のアプリケーションおよびデータベースの値を同じEssbaseサーバー・インスタンスに組み込むには、次のコマンドを使用します:

@XREF (appname, dbname [, mbrList])

パラメータ

locationAlias

データ・ソースのロケーション別名。 ロケーション別名は、データ・ソースを識別するディスクリプタです。 ソースとターゲットが同じEssbaseサーバー・インスタンス上にある場合、ロケーション別名は必要ありません。

使用する場合は、計算スクリプトを実行するデータベースでロケーション別名を設定する必要があります。 ロケーション別名はデータベース管理者によって設定され、データ・ソースのサーバー、アプリケーション、データベース、ユーザー名およびパスワードを指定します。

mbrList

オプション。 @XREF問合せを修飾するメンバー名のカンマ区切りリスト。 mbrListに指定したメンバーは、データ・ターゲットの現在の視点のメンバーに加えてデータ・ソースに送信されます。 次に、データ・ソースは優先度の高い順にメンバーの組合せを構成します:

  • mbrListで指定されたメンバー

  • 現在の視点のメンバー

  • データ・ソース内の未指定のディメンションの最上位メンバー

mbrListパラメータ(1)は、データ・ターゲットの視点を変更するか、(2)データ・ソースの特定の視点を定義します。 たとえば、次の式はデータ・ターゲットの視点を変更します:

2003(2003->Jan->Inventory = @XREF(sourceDB,Dec);)

データ・ソース(sourceDB)のキューブに2002年のデータのみが含まれている場合、この式は2003年のJanのInventoryを2002年のDecのInventory値に設定します。

次の式は、データ・ターゲットの特定の視点を定義します:

Jan = @XREF(sourceDB,January);

データ・ターゲットにはメンバーJanが含まれ、データ・ソース(sourceDB)にはメンバーJanuaryが含まれるとします。 この式では、データ・ターゲットのメンバー(Jan)がデータ・ソースの対応するメンバー(January)にマップされ、sourceDBからJanuaryが取得されます。

mbrListパラメータの詳細は、ノートを参照してください。

appname, dbname
アプリケーションおよびキューブの名前。 Essbaseサーバー・インスタンスが1つのみのデプロイメントにのみ使用します。

ノート

  • データ・ターゲットにサインインし、データ・ソースにもプロビジョニングされている必要があります。

  • mbrListで指定されたメンバーがデータ・ソースに存在しない場合は、エラーが返されます。

  • データ・ソースで問合せを行うデータ・セルの数は、データ・ターゲットで必要なデータ・セルの数と一致する必要があります。

  • メンバー・リストには、複数のメンバーを戻す関数を含めることはできません。 たとえば、次の式は無効です:

    West = @XREF(SourceDb, @LEVMBRS(Market,0));
  • メンバー・リストに範囲を含めることはできません。 たとえば、次の式は無効です:

    West = @XREF(SourceDb, Jan:Mar);
  • mbrListには属性メンバーを含めることができます。 たとえば、データ・ソースが色属性に基づいて製品を分類する場合、次の式では、すべての赤色製品の販売の合計が計算され、結果がメンバーRedThingsに割り当てられます:

    RedThings = @XREF(SourceDb, Sales, Red);
  • mbrListには属性演算子を含めることができます。 たとえば、次の式では、RedThingsがすべての赤製品の平均販売として計算されます:

    RedThings = @XREF(SourceDb, Sales, Red, Average);
  • @XREFは、すべてのタイプのメンバーを問い合せることができます。 たとえば、データ・ソースから取得されたメンバーは、属性メンバーに加えて「動的計算」メンバーにすることができます。 動的計算および属性計算に適用されるすべてのパフォーマンス上の考慮事項は、動的メンバーおよび属性メンバーに依存する@XREF問合せにも適用されることに注意してください。

  • @XREF計算の過程で、ソース・データベースのデータが変更される可能性があります。@XREFには、計算の開始後に行われた変更は組み込まれません。

  • @XREFはトップダウン式です。 トップダウン式の詳細は、「ボトムアップおよびトップダウンの計算」を参照してください。

  • データ・ソースまたはデータ・ターゲットのいずれにも存在しないメンバーの場合、@XREFは、値#M1ではなく最上位ディメンションの値を戻します。

  • @XREF内で@PARENTを使用している場合は、@NAME内にある必要があります。 例:

    COGS=@XREF(Sample, @NAME(@PARENT(Product)),Sales);
  • @XREFを含むパラレル計算を実行する場合、使用するように指定したスレッド数が、構成されたSERVERTHREADS数より多いと、アプリケーションはタイムアウトします。

この例では、次の2つのデータベースについて考えてみます:

メイン・データベース

Year
  Qtr1
  Qtr2
Measures
  Sales
  Units  
Product
  100
    100-10
    100-20
Market
  East
  West
Scenario
  Budget
  Forecast

インフレ率データベース

Year
  Qtr1
  Qtr2  
Assumptions
  Inflation
  Deflation = Inflation * .5 (Dynamic Calc)  
Country
  US
  Canada
  Europe

次の式は、メイン・データベースに関連付けられています:

Units = Units * @XREF(InflatDB,Inflation,US);

ここで、InflatDBはインフレ率データベースのロケーション別名で、「インフレ」InflatDBからデータ値を取得するメンバーです。

この例では、Essbaseによって次のメンバーの組合せが計算されます:

Units->Qtr1->100-10->East->Budget = Units->Qtr1->100-10->East->Budget * Inflation->Qtr1->US

ユニット->Qtr2->100-10->East->Budget = Units->Qtr2->100-10->East->Budget * Inflation->Qtr2->USなど。