@XRANGE

Essbaseの@XRANGE計算関数は、同じレベルの2つの指定された単一メンバー間またはディメンション間メンバー間のメンバー範囲(両端を含む)を返します。

たとえば、時間ディメンションとシナリオ・ディメンションを操作する場合、2つを組み合せたディメンションを作成し、必要以上に多くの個別のメンバーを作成することになるかわりに、@XRANGEを使用して、時間とシナリオのメンバー・セットの組合せを返すことができます。

@XRANGEはメンバー・セット関数です。メンバー・セット関数は、メンバーのリストを返します。@XRANGEは、範囲が通常表示される数式の任意の場所に表示できます。

構文

@XRANGE (mbrName1, mbrName2)

パラメータ

mbrName1

任意の有効なメンバー名、メンバーの組合せ、または単一のメンバーを返す関数。

mbrName2

任意の有効なメンバー名、メンバーの組合せ、または単一のメンバーを返す関数。mbrName1がディメンションをまたぐメンバー(実績-> 1月など)である場合は、mbrName2も同じにする必要があり、ディメンションの順序がmbrName1で使用される順序と一致する必要があります。

ノート

  • @XRANGEの2つの引数は、両方が単一メンバーであるか、両方がディメンション間メンバーである可能性があります。たとえば、@XRANGE(Actual->Jan, Budget)は、単一のメンバーとディメンション間メンバーが一緒に使用されているため無効です。@XRANGE(Actual->Jan, Budget->Feb)@XRANGE(Jan, Mar)はどちらも有効です。

  • メンバーのディメンションの順序は、両方の引数で一致する必要があります。たとえば、@XRANGE(Actual->Jun, Jul->Budget)は、2つのメンバー・コンポーネントの順序が異なるため、無効です。@XRANGE(Actual->Jun, Budget->Jul)は有効です。

  • ディメンション間のmbrnamesに指定したディメンションの順序によって、結果のタプル・リスト内のタプルの順序が決まります。右端のディメンションは、最も頻繁に増分されるディメンションです。ディメンション内のメンバーの増分は、アウトラインの順序、または引数の順序になります。

  • 構文は正しいものの、@XRANGE (Dec, Mar)のような関数は、空のセットになるため、意味がありません。

  • 各引数のメンバー・コンポーネントは、同じレベルからのものである必要があります。たとえば、@XRANGE(Actual->Jun, Budget->Qtr1)は、JunとQtr1が同じレベルからでないため、無効です。

次の例は、Sample Basicデータベースに基づいています。

例1

単純なメンバーを使用してJanからMarまでの範囲を返す非常に単純な例を次に示します。

@XRANGE(Jan, Mar)

この例では、次のメンバーが返されます。

Jan
Feb
Mar

例2

次に、ディメンション間メンバーを使用して範囲を返す例を示します。

範囲計算が複数のディメンションにまたがる場合、ディメンションを指定する構文の順序によって、計算される動的依存関係の数が異なります。反復は左から右に進みます。

ディメンション間メンバーで指定される最初のディメンションは範囲の開始と終了を定義し、指定された最後のディメンションは完全に反復されます。

次の式について考えます:

@XRANGE (Actual->Jan, Budget->Mar)

メンバーの反復はActualで始まり、Budgetで終わります:

Actual, Jan
Actual, Feb
Actual, Mar
Actual, Apr
Actual, May
Actual, Jun
Actual, Jul
Actual, Aug
Actual, Sep
Actual, Oct
Actual, Nov
Actual, Dec
Budget, Jan
Budget, Feb
Budget, Mar

より小さい範囲が必要な場合は、ディメンションの順序を変更できます:

@XRANGE (Jan->Actual, Mar->Budget)

メンバーの反復はJanで始まり、Marで終わります:

Jan, Actual
Jan, Budget
Feb, Actual
Feb, Budget
Mar, Actual
Mar, Budget

例3

この例は、Sample Basicデータベースに基づいていません。これは、2001年から2003年までの各年のメンバーを含むYearというディメンションを含むデータベースに基づいています。

次の式は、2000年5月から2001年1月までのすべての月の平均売上高を計算します。

SalesAvg= @MOVAVG(Sales, 3, @XRANGE("2000"->Mar, "2001"->Jan));

この例では、次のメンバーが返されます。

          Colas   New York   Actual              
                     Sales       SalesAvg       
                     =====       ========       
2000  
        Mar            678        678   
        Apr            645        645   
        May            675        666   
        Jun            712        677.3 
        Jul            756        714.3 
        Aug            890        786   
        Sep            924        856.7
        Oct            914        909.3
        Nov            912        916.7
        Dec            723        849.7
2001
        Jan            647        760.7