@SHIFT

Essbaseの@SHIFT計算関数は、現在のメンバーと同一の他のすべてのメンバーを保持しながら、XrangeListの順序で、mbrNameから、前または次のn番目のセル値を返します。

@SHIFTの方向は、完全にnに基づいており、正のn値は@NEXTと同等の効果があり、負のn値は@PRIORと同等の効果があります。

構文

@SHIFT (mbrName [,n, XrangeList])

パラメータ

mbrName

すべての有効な単一メンバー名、または単一メンバーを返す関数。

n

オプションの符号付き整数。nに負の値を使用すると、@PRIOR関数で正の値を使用するのと同じ効果があります。nは、メンバー名などの参照でなく、数値である必要があります。

XrangeList

メンバーの順次範囲を指定するオプションのパラメータ。範囲が指定されない場合、Essbaseは、時間としてタグ付けされたディメンションのレベル0メンバーを使用します。

有効なメンバー名、メンバー名のカンマ区切りリスト、ディメンション間メンバー、またはメンバー・セット関数か範囲関数(@XRANGEを含む)からの戻り値にできます。

rangeListXrangeListについて詳しくは、範囲リスト・パラメータ範囲と財務関数トピックで参照してください。

ノート

@SHIFTは、nの値が変数であり、呼び出しの発生時、つまり、使用方法がNEXTまたはPRIOR、あるいはその両方である可能性が高いときのデータベース状態に応じて正から負に変化する可能性がある場合、@NEXTまたは@PRIORよりも、適切な自己文書化名として提供されます。

この例では、nパラメータとして-1が指定されているため、各月のPrev Assetは前月のAsset値を取得して導出されます。nパラメータとして2が指定されているため、各月のNext 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