POSTFIXPARALLEL

EssbasePOSTFIXPARALLEL計算コマンド・ブロックは、FIXPARALLEL...ENDFIXPARALLEL内で使用できるオプションの後処理ブロックで、一時スレッドレベルのTHREADVAR値をFIXPARALLELブロック外で使用できるより長い永続性のVAR変数にコピーします。

構文

POSTFIXPARALLEL ( [ varName = ACCUMULATEVAR (threadVarName ); ]* );

パラメータ

varName

指定したTHREADVAR変数のすべてのスレッドの値の合計を格納するVAR変数の名前。

ACCUMULATEVAR

指定したTHREADVAR変数のすべてのスレッド値を合計するキーワード。次に、この合計は、指定したVAR変数に割り当てられます。

threadVarName

THREADVAR変数の名前。

ノート

一時的なTHREADVAR値をFIXPARALLELの外部で使用できるVAR変数にコピーするには、次のタスク・フローを使用します。

  1. VAR変数(FIXPARALLELブロックの外側)を宣言して、計算結果を格納します。

  2. FIXPARALLELブロック内で使用するTHREADVAR変数を宣言します。

  3. POSTFIXPARALLELブロックを使用して、THREADVARをVARにコピーします。

次の例では、THREADVAR変数からVAR変数にSales値を累積します。


/* Store computed result of four tasks */
VAR totalSalesAmnt = 0;    
/* Four tasks */
FIXPARALLEL (2, "New York", "California", "Oregon", "Florida") 
/* Accumulate results of tasks into threads */
THREADVAR s_entitySalesAmnt;  
/* Use for computation in each task */
THREADVAR entitySalesAmnt;       
/* Use/change THREADVARs within member formula blocks */
"Sales" 
  ( 
    /* Initialize variables for this task */
   entitySalesAmnt = 2;
    /* Use the THREADVARS ... */
    /* Accumulate task-data into thread-data */
    s_entitySalesAmnt = s_entitySalesAmnt + entitySalesAmnt;
  );
/* Copy computed data into longer-persisting VAR */
POSTFIXPARALLEL ( totalSalesAmnt = ACCUMULATEVAR ( s_entitySalesAmnt ););
ENDFIXPARALLEL