@SHIFTMINUS
@SHIFT、@PRIORまたは@NEXTのかわりに使用して、算式が次の基準を満たす場合にパフォーマンスを向上させることができます:
-
算式はCELLモードで実行されています。
-
式には、次のいずれかのパターンがあります:
X = Y - @SHIFT(mbrName [,n, XrangeList])
または:
X = Y - @PRIOR(mbrName [,n, XrangeList])
または:
X = Y - @NEXT(mbrName [,n, XrangeList])
これらの基準を満たす場合は、パフォーマンスを向上させるために、ブロック・モードで式を実行する@SHIFTMINUSを使用して式をリライトすることを検討してください。
Note: この関数をセル・モードで実行される関数と組み合せて使用すると、依存性を解決するためにセル・モードでの実行が必要になる場合があります。 式がセル・モードで実行されたかどうかを判断するには、ログで次の情報メッセージを確認してください: Formula for member [mbrName] will be executed in [CELL] mode
。 セル・モードを使用する関数の詳細は、@CALCMODEのトピックを参照してください。
構文
@SHIFTMINUS (mbrName1, mbrName2 [,n, XrangeList])
パラメータ
- mbrName1
-
任意の有効な単一メンバー名、または単一メンバーを戻す関数。
- mbrName2
-
任意の有効な単一メンバー名、または単一メンバーを戻す関数。
- n
-
オプションの符号付き整数。nは、メンバー名などの参照ではなく、数値である必要があります。 @SHIFTMINUSを使用して@NEXT関数を置き換える場合は、nの値として
1
を使用します。 @SHIFTMINUSを使用して@PRIOR関数を置き換える場合は、nの値として-1
を使用します。 デフォルト値は+1です。 - XrangeList
-
メンバーの順次範囲を指定するオプションのパラメータ。 範囲が指定されていない場合、EssbaseはTimeとしてタグ付けされたディメンションのレベル0のメンバーを使用します。
有効なメンバー名、メンバー名のカンマ区切りリスト、ディメンション間メンバー、またはメンバー・セット関数または範囲関数(@XRANGEを含む)からの戻り値を指定できます。
rangeListおよびXrangeListの詳細は、「範囲関数と財務関数」のトピックの「範囲リスト・パラメータ」を参照してください。
例
次の例は、@SHIFT()を使用した式を示しています。
Sales = Loss - @SHIFT(Sales, 1);
@SHIFTMINUS()を使用してパフォーマンスを向上させる式を次に示します:
@SHIFTMINUS (Loss, Sales, 1)
次の例は、YearディメンションがSample Basicに追加されていることを前提としています。
FIX("South", "East")
Sales = @SHIFTMINUS (COGS, Sales, 1, @XRANGE("2018"->"Sep", "2019"->"Mar"));
ENDFIX;
前述の計算は、XrangeListで指定された次の多ディメンション範囲で実行されます:
2018->Sep
2018->Oct
2018->Nov
2018->Dec
2019->Jan
2019->Feb
2019->Mar