プライマリ・コンテンツへ移動
Oracle® Hyperion Calculation Manager設計者ガイド

E79671-02
目次に移動
目次

前
次

MDX関数

関数 目的 構文
@CalcMgrMDXDataCopy MDXスクリプトを使用してデータベース間でデータをコピーします。

Javaクラス: com.hyperion.calcmgr.common.cdf.MDXDataCopy.copyData(String,String,String,String,String,String,String,String,String,String,String,String,String,String)

CDF仕様: @CalcMgrMDXDataCopy(Encryption Key,user,password,sourceApplicaionName, sourceDatabaseName,targetApplicationName, targetDatabaseName,columnAxisMDX, rowAxisMDX, sourceMemberMappings,targetMemberMappings, targetPOVCols,maxRowsPerPage,loggingFileName)

CalcMgrMDXDataCopyRTP MDXスクリプトを使用して、データベース間またはサーバー間で実行時プロンプトを使用してデータをコピーします。

CalcMgrMDXDataCopyRTPは、次の引数に使用できます:

  • 列MDX
  • 行MDX
  • Where MDX
  • ソース・マッピング
  • ターゲット・マッピング
  • POVの列

これらの引数に変数を使用するのではなく、$1、$2、$3などを使用します。さらに引数で、@LIST関数を使用してこれらの変数を渡します。最初の引数の入力で$1を、2つ目の引数で$2を、というように置き換えます。

Javaクラス: .hyperion.calcmgr.common.cdf.MDXDataCopy.dataCopy(String,String,String,String,String,String,String,String,String,String,String,String,String,String,String[],String)

CDF仕様: @CalcMgrMDXDataCopyRTP(key,user,pwd,srcApp,srcDB,dtnApp,dtnDB,colQuery,rowQuery,whereQuery,srcMappings,targetMappings,targetPOVCols,maxRowsPerPage,arguments,loggerName)

@CalcMgrMDXDataCopyServer MDXスクリプトを使用して、データベース間またはサーバー間で必要に応じてWhere文を使用してデータをコピーします。

Javaクラス:

CDF仕様: @CalcMgrMDXDataCopyServer(Encryption Key, user, password,sourceApplicaionName,sourceDatabaseName, sourceServer,targetApplicationName, targetDatabaseName,targetServer, columnAxisMDX, rowAxisMDX,whereMDX,sourceMemberMappings, targetMemberMappings,targetPOVCols,maxRowsPerPage, loggingFileName)

@CalcMgrMDXExport MDX式を使用してデータをエクスポートします。

Javaクラス: com.hyperion.calcmgr.common.cdf.MDXExport.exportData(String,String,String,String,String,String,String,String,String,String,String,String,String,String,String)

CDF仕様: @CalcMgrMDXExport(key,user,pwd,fileName,application,database,server,columnAxisMdx,rowAxisMdx,seperator,missing,useUniqueName,useAliasName,supressZeros,rowHeaders)

@CalcMgrMDXExportRTP MDXスクリプトを使用して、キューブから実行時プロンプトを使用してデータをエクスポートします。

Javaクラス:.hyperion.calcmgr.common.cdf.MDXExport.dataExport(String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String[])

CDF仕様: @CalcMgrMDXExportRTP(key,user,pwd,fileName,application,database,server,columnAxisMdx,rowAxisMdx,seperator,missing,useUniqueName,useAliasName,supressZeros,rowHeaders,args)

@CalcMgrMDXDataCopyを使用したデータベース間でのデータのコピー

@CalcMgrMDXDataCopyは、コピーする領域を定義するMDX式に依存します。この関数は、メモリー内にグリッドを作成し、MDX式を使用してソース・データベースからグリッドに入力した後、データをターゲット・データベースに更新します。@CalcMgrMDXDataCopyでは、calcmgrCmdLine.jarを使用して暗号化されたユーザー名およびパスワードを使用します。

たとえば、ユーザー名およびパスワードを暗号化するには、java -jar calcmgrCmdLine.jar -gkを使用して鍵を生成する必要があります。これは、ユーザー名およびパスワードの暗号化に使用できる鍵(83qosW4LbxVGp6uBwqtQWbなど)を返します。ユーザー名を暗号化する場合、パスワードも暗号化する必要があります。CalcmgrCmdLine.jarの使用の詳細は、コマンド・ライン・ランチャを使用したEssbaseビジネス・ルールの起動を参照してください。

注意:

列および行の軸のみを持つMDX式がサポートされています。

構文:

RUNJAVA com.hyperion.calcmgr.common.cdf.MDXDataCopy 
        <KEY used to encrypt user name and password>
        <Encrypted user name>
        <Encrypted password>
        <Source Application>
           <Source Database>
        <Target Application>
           <Target Database>
           <MDX expression that defines column members>
           <MDX expression that defines row members>
           <Source Member Mappings>
           <Target Member Mappings>
           <Target POV columns>
         <ROWS PER PAGE>
           <LOG FILE>
           <Source Server>
           <Target Server>
           <Where MDX>

<Source Member Mappings>および<Target Member Mappings>は、ソースのメンバー名がターゲットとは異なる場合に使用します。これらはカンマで区切リる必要があります。関数は使用できません。

<Target POV columns>は、ターゲットのディメンション数がソースより多い場合に使用します。

<ROWS PER PAGE>は、ターゲットへの更新のトリガーに使用します。デフォルトは-1で、グリッド全体が移入されると更新が発生します。30に設定した場合は、30行が入力されると、更新がトリガーされます。その後、次の30行を使用して続行されます。

<Source Server>および<Target Server>は、ソース・サーバーと宛先サーバーが異なる場合に使用します。同じ場合は、""をプレース・ホルダとして使用する必要があります。

<Where MDX>は、スクリプトに対する引数を指定する場合に使用します。

カスタム定義関数が実行されるJVMのメモリーを増やすには、Oracle Essbaseopmn.xmlファイルを編集し、ESS_JVM_OPTION1の値プロパティの数を変更します。次の入力により、JVMに対して256 MBのメモリーが設定されます: <variable id="ESS_JVM_OPTION1" value="-Xmx256M"/>

例:

RUNJAVA com.hyperion.calcmgr.common.cdf.MDXDataCopy 
             "vta2a536uC/wyX8jM2GlHA==" /* key */
             "qza9xZxUX+srS1GrlR2Qboeq77InwkNSQSvBHLO2siidSEglMndoIpneZVPK0tWt" /* user */
             "eldizBRIyqdPdXl9Bpu/HIE+YIgvRBa59aTjTDWpWM0T+ZEPjF+zyINfE0KHX0qP" /* password */
             "Sample" /* from application */
             "Basic"  /* from database */
             "Samp2"  /* to application */
             "Basic"  /* to database */
             "crossjoin({[Jan],[Feb],[March]},{[Budget]})" /* MDX that defines the column members */
             "crossjoin(crossjoin({[Sales]},{[100].CHILDREN}),{[Connecticut]})" /* MDX that defines the row members */
             "Jan,Feb" /* source member mappings */
             "January,February" /* target member mappings */
             "VP, IT" /* Target POV columns, members from dimensions that do not exist on the source*/
             "-1" /* rows per page */
             "c:\\Temp\\cpdata3.log"; /* log file could be empty */
             "" /* source server */ 
             "" /* destination server */ 
             ""/* where MDX */
@CalcMgrMDXDataCopyRPTを使用したデータベース間でのデータのコピー

@CalcMgrMDXDataCopyRPTは、MDXスクリプトを使用して、データベース間で実行時プロンプトを使用してデータをコピーします。

実行時プロンプトは次の引数に使用できます。

  • 列MDX
  • 行MDX
  • Where MDX
  • ソース・マッピング
  • ターゲット・マッピング
  • POVの列

これらの引数に変数を使用するのではなく、$1、$2、$3などを使用します。引数で、@LIST関数を使用してこれらの変数を渡します。最初の引数の入力で$1を、2つ目の引数の入力で$2を、というように置き換えます。

例:

                FIX ("FY14", {Scenario}, {Version}, {Department})
                   "Jan" (
                       @CalcMgrMDXDataCopyRTP(
                           "fht1qmevLWMqKSHF2yusKS",
                           "py9FTBsRCwp8afii9ntCAwSvVUXr3oZbxpxFMqobx5Jwkt34Cfxvhs21z4WmG9KT",
                           "KvwlKgs56Coi1HQsrk1UwiVi9zyoE+Llel4BrYBHiJz9PF6ZDVQ/rF5taip707CL",
                           "Vision",
                           "Plan1",
                           ""
                           "ASO_401",
                           "ASO_401",
                           ""
                           "{[$1]}" ,
               "NON EMPTY (Crossjoin({Descendants([&QRFPer1],[Period].Levels(0)),Descendants([&QRFPer2],[Period].Levels(0)),Descendants([&QRFPer3],[Period].Levels(0)),Descendants([&QRFPer4],[Period].Levels(0))},
                 Crossjoin({[&QRFYr1],[&QRFYr2],[&QRFYr3],[&QRFYr4]},Crossjoin({[$3]}, Crossjoin(Descendants([P_TP],[Product].Levels(0)),{[Units],[5800],[9000]})))))",
                           "([$2])",
                           "",
                           "",
                           "",
                           ""
                           "-1",
                           @LIST(@name({Scenario}),@name({Department}),@name({Version})),
                           "c:/Temp/CM_DCopyVW1.log"
                       );
                   )
                ENDFIX
@CalcMgrMDXExportを使用したデータベースからのデータのエクスポート

@CalcMgrMDXExportは、MDX式を使用してデータをエクスポートします。この関数は、ブロック・ストレージ・アプリケーションの計算スクリプトを使用して集約ストレージ・データベースからデータをエクスポートする場合に使用します。@CalcMgrMDXExportでは、暗号化されたトークンの生成に、calcmgrCmdLine.jarを使用して暗号化されたユーザー名およびパスワードを使用します。たとえば、ユーザーadminを暗号化するには、java -jar calcmgrCmdLine.jar -encrypt -key vta2a536uC/wyX8jM2GlHA== adminを使用します

注意:

列および行の軸のみを持つMDX式がサポートされています。

構文:

RUNJAVA com.hyperion.calcmgr.common.cdf.MDXExport
             <KEY used to encrypt user name and password>
             <Encrypted user name>
             <Encrypted password>
             <Export file>
             <Application>
             <Database>
             <Server>
                  <MDX expression that defines column members>
                  <MDX expression that defines row members>
                  <Separator>
                  <#MISSING Value>
                  <Use Unique Name> "true" or "false"
                  <Use Alias Name> "true" or "false"
                  <Supress Zeros> "true" or "false"
                  <Show Row Headers> "true" or "false"
                  /* where mdx */
                  /* source member mappings */
                  /* target member mappings */
                      

例:

RUNJAVA com.hyperion.calcmgr.common.cdf.MDXExport
"fht1qmevLWMqKSHF2yusKS" /*  key */
"py9FTBsRCwp8afii9ntCAwSvVUXr3oZbxpxFMqobx5Jwkt34Cfxvhs21z4WmG9KT" /* user */
"KvwlKgs56Coi1HQsrk1UwiVi9zyoE+Llel4BrYBHiJz9PF6ZDVQ/rF5taip707CL" /* password */
"c:\\Temp\\export_W1.txt" /* export file */
"Vision" /* source application name */
"Plan1" /* source Database name */
"server1" /* server */
"{[Actual]}" /* columnAxisMDX */
"NON EMPTY (Crossjoin({Descendants([&QRFPer1],[Period].Levels(0)),Descendants([&QRFPer2],[Period].Levels(0)),Descendants([&QRFPer3],[Period].Levels(0)),Descendants([&QRFPer4],[Period].Levels(0))},
      Crossjoin({[{Department}]},
      Crossjoin({[&QRFPer1],[&QRFPer2],[&QRFPer3],[&QRFPer4]},
      Crossjoin({[{Version}]},CrossJoin({[Basedata]},
        {[Units],[5800],[4110]}))))))" /* row AxisMdx */
"," /* separator */
"" /* #MISSING */
"false" /* use unique name */
"false" /* use alias name */
"true" /* suppress zero’s */
"true" /* show row headers */
"{[P_000]}" /* where mdx */
"Jan, Feb, Mar" /* source member mappings */
"January, February, March" /* target member mappings */
@CalcMgrMDXExportRPTを使用したデータベースからのデータのエクスポート

@CalcMgrMDXExportRPTは、MDXスクリプトを使用して、キューブから実行時プロンプトを使用してデータをエクスポートします。

実行時プロンプトは次の引数に使用できます。

  • 列MDX
  • 行MDX
  • Where MDX
  • ソース・マッピング
  • ターゲット・マッピング
  • POVの列

これらの引数に変数を使用するのではなく、$1、$2、$3などを使用します。引数で、@LIST関数を使用してこれらの実行時プロンプトを渡します。最初の引数の入力で$1を、2つ目の引数で$2を、というように置き換えます。