@SHIFT
現在のメンバーと同じである他のすべてのメンバーを保持したまま、mbrNameから前または次のn thセル値をXrangeListの順序で戻します。
@SHIFTの方向は完全にnに基づいており、正のn値は@NEXTと同等の効果を生成し、負の値はnと同等の効果を生成します。
構文
@SHIFT (mbrName [,n, XrangeList])
パラメータ
- mbrName
-
任意の有効な単一メンバー名、または単一メンバーを戻す関数。
- n
-
オプションの符号付き整数。 nに負の値を使用すると、@PRIOR関数で正の値を使用した場合と同じ結果になります。nは、メンバー名などの参照ではなく、数値である必要があります。
- XrangeList
-
メンバーの順次範囲を指定するオプションのパラメータ。 範囲が指定されていない場合、EssbaseはTimeとしてタグ付けされたディメンションのレベル0のメンバーを使用します。
有効なメンバー名、メンバー名のカンマ区切りリスト、ディメンション間メンバー、またはメンバー・セット関数または範囲関数(@XRANGEを含む)からの戻り値を指定できます。
rangeListおよびXrangeListの詳細は、「範囲関数と財務関数」のトピックの「範囲リスト・パラメータ」を参照してください。
ノート
nの値が変数で、コール発生時のデータベースの状態(NEXTまたはPRIOR、あるいはその両方)に応じて正から負に変わる可能性がある場合、@SHIFTは@NEXTまたは@PRIORよりも適切な自己文書化名として提供されます。
例
この例では、 -1がnパラメータとして指定されているため、前月のAsset値を取得することで各月のPrev Assetが導出されます。 nパラメータとして2が指定されているため、各月の次のAvl Assetは、当月の2か月後からAsset値を取得することで導出されます。 どちらの式にも範囲シーケンスが指定されていないため、Timeとしてタグ付けされたディメンションのレベル0のメンバーが使用されます。
"Prev Asset" = @SHIFT(Asset,-1);
"Next Avl Asset" = @SHIFT(Asset,2);
この例では、次のレポートが作成されます:
Jan Feb Mar Apr May Jun
=== === === === === ===
Asset 100 110 105 120 115 125
Prev Asset #MI 100 110 105 120 115
Next Avl Asset 105 120 115 125 #MI #MI
次の例は、YearディメンションがSample Basicに追加されていることを前提としています。
FIX("West")
"Prev Sales" = @SHIFT(Sales, -1, @XRANGE("2011"->"Sep", "2012"->"Mar"));
ENDFIX;
前述の計算は、XrangeListで指定された次の多ディメンション範囲で実行されます:
2011->Sep
2011->Oct
2011->Nov
2011->Dec
2012->Jan
2012->Feb
2012->Mar