機械翻訳について

@XWRITE

データベース計算で、別のEssbaseデータベースまたは同じデータベースに値を書き込むことができます。

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

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

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

  • 視点: データ・ソースで現在計算されているメンバーの組合せ。

この関数は、現行データベースのブロックの計算中に、同じデータベースまたはリモート・データベースのデータ・ブロックに書き込みます。@XWRITEには、メンバーとディメンションのマッピングの制限はありません。つまり、データ・ソースとデータ・ターゲットのアウトラインは異なる場合があります。

引数として、この関数は、ロケーション別名、現在の視点を表すメンバーの暗黙的なリスト、およびデータ・ターゲットで@XWRITEを修飾するメンバーのオプションのリストを取ります。 2番目の引数(現在の視点を構成するメンバー)は暗黙的です。つまり、これらのメンバーは@XWRITEパラメータとして指定されません。 3番目の引数を省略した@XWRITEは、データ・ソース内の特定のデータ・ポイントがデータ・ターゲット内の同じデータ・ポイントに設定されることを示します。

構文

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

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

@XWRITE (expression, locationAlias [, mbrList])

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

@XWRITE (expression, appname, dbname [, mbrList])

パラメータ

expression

格納される値に対応する単一のメンバー指定、変数名またはその他の数値式。

locationAlias

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

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

@XREFと@XWRITEの両方で同じロケーション別名を使用できます。 @XREFではデータ・ソースを表し、@XWRITEではデータ・ターゲットを表します。

@XWRITEの場合のみ、予約済キーワード@LOOPBACKを使用して同じデータベースに書き込むことができます。

mbrList

オプション。 @XWRITE操作を修飾するメンバー名のカンマ区切りリスト。 mbrListに指定するメンバーは、データ・ソースの現在の視点のメンバーに加えて、データ・ターゲットに書き込まれる内容を決定します。 データ・ターゲットは、次の計算ロジックを使用して書き込まれます(優先順に):

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

  • 現在の視点のメンバー

  • データ・ターゲットの指定されていないディメンションの最上位メンバー

したがって、リモート・メンバー・リストは、現在の視点のメンバーを使用して計算および書き込まれ、@XWRITEに指定されたmbrListのメンバーで上書きされ、一部のディメンションがまだデータ・ターゲットに存在しない場合は、データ・ターゲットの最上位ディメンションが使用されます。

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

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

ノート

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

  • この関数は、ブロック・ストレージ・データベースにのみ適用されます。

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

  • メンバー・リストには、複数のメンバーを戻す関数を含めることはできません。 たとえば、@LEVMBRS(Market,0)などです。

  • メンバー・リストに範囲を含めることはできません。

  • メンバー・リストに属性メンバーまたは属性演算子を含めることはできません。

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

  • @XWRITEから動的計算セルへの変換はお薦めしません。データはメモリー内で計算されますが、書き込まれません。

  • @XWRITEは、計算スクリプトおよびアウトライン・メンバー式で使用できます。

次の「Sample Basic」式は、100-30の値を同じデータベースの100-20に書き込みます。


FIX (East, Actual, Budget, Sales)
"100-30" (
@XWRITE("100-30", @loopback, "100-20");
)
ENDFIX

次の「Sample Basic」式は、「Sample Basic」からSample2 Basicに定義されたロケーション別名「sam2basic」を使用して、100-30の値をリモート・データベースSample2 Basicの100-20に書き込みます。


FIX (East, Actual, Budget, Sales)
"100-30" (
@XWRITE("100-30", sam2basic, "100-20");
)
ENDFIX

次の例は、@XWRITE関数コール内で別の関数をコールする方法を示しています。


FIX (East, Actual, Budget, Sales)
"100" (
 @XWRITE(@PARENT("100-30"), @loopback, "100-20");
 )
ENDFIX