@RELXRANGE
Essbaseの@RELXRANGE計算関数は、現在計算中のセルの相対位置およびオフセットに基づいて、事前定義されたディメンション間リスト(XrangeList)内のセルごとにディメンション間リストを生成します。
構文
@RELXRANGE (startOffset, endOffset, XrangeList)
パラメータ
- startOffset
-
返されるディメンション間リストの最初のタプルを定義します。
-
整数値は、事前定義済ディメンション間リスト(XrangeList)内で、計算中の現在のセルを基準にしたディメンション間メンバーを返します。
-
負の値は、XrangeList内で、計算中の現在のセルのpriorディメンション間メンバーを指定します。
-
値0は、現在計算されているディメンション間メンバーまたはセルを返します。
-
正の値は、XrangeListで、計算中の現在のセルのsubsequentディメンション間メンバーを指定します。
-
- endOffset
-
返されるディメンション間リストの最後のタプルを定義します。値のタイプは、startOffsetの場合と同じです。
- XrangeList
-
制限として使用されるディメンション間リスト。
有効なメンバー名、メンバー名のカンマ区切りリスト、ディメンション間メンバー、またはメンバー・セット関数または範囲関数(@XRANGEを含む)からの戻り値にできます。
rangeListおよびXrangeListの詳細は、範囲リスト・パラメータを参照してください。
ノート
-
startOffsetは、endOffset以下である必要があります。
-
XrangeListのディメンションの順序は、結果のタプル・リスト内のタプルの順序で移動します。XrangeListの右端のディメンションは、最も頻繁に増分されるディメンションです。ディメンション内のメンバーの増分は、アウトラインの順序、または引数として使用されるXrangeListの順序になります。
-
現在計算中のセルがXrangeListの範囲外である場合、この関数は空のディメンション間リストを返します。
-
startOffsetがXrangeListの範囲外の場合、この関数は、XrangeListの最初のメンバーから始まるディメンション間リストを返します。
-
endOffsetがXrangeListの範囲外の場合、この関数は、XrangeListの最後のメンバーで終わるディメンション間リストを返します。
-
XrangeList内では、@XRANGEのパラメータ・リストで、アンカー・ディメンション(式が設定されているメンバーのディメンション)からはメンバーを渡せません。アンカー・ディメンションのメンバーを使用する正しい方法については、例を参照してください。
例
@XRANGEのパラメータ・リストでは、アンカー・ディメンションからメンバーを渡すことはできません。この例は、@XRANGEの正しい使用方法と誤った使用方法を示しています。
正しい例
mbrCountとSalesは両方ともMeasuresディメンションにあります。Measuresは、アンカー・ディメンション(式が設定されているメンバーのディメンション)です。
mbrCount=@COUNT(SKIPNONE,@RELXRANGE(-1,3,@XRANGE(Jan->Actual,May->Actual))->Sales);
XrangeListは@XRANGE(Jan->Actual,May->Actual)
で表され、次を返します。
Jan->Actual
Jan->Budget
Feb->Actual
Feb->Budget
Mar->Actual
Mar->Budget
Apr->Actual
Apr->Budget
May->Actual
@RELXRANGEはXrangeListを操作し、-1と3の定義されたオフセット内のディメンション間メンバーのリストを返します。
計算中の現在のメンバーがJan->Actualの場合、返されるカウントは4です(-1のオフセットは空です)。
Jan->Actual (offset 0)
Jan->Budget (offset 1)
Feb->Actual (offset 2)
Feb->Budget (offset 3)
計算中の現在のメンバーがJan->Budgetの場合、返されるカウントは5です。
Jan->Actual (offset -1)
Jan->Budget (offset 0)
Feb->Actual (offset 1)
Feb->Budget (offset 2)
Mar->Actual (offset 3)
計算中の現在のメンバーがApr->Budgetの場合、返されるカウントは3です(2と3のオフセットは空です)。
Apr->Actual (offset -1)
Apr->Budget (offset 0)
May->Actual (offset 1)
正しくない例
@XRANGEの引数でSalesを使用することはできません。これは、mbrCountのアンカー・ディメンションからのものであるためです。かわりに、正しい例に示すように、Salesと@XRANGE関数呼び出しを使用して、ディメンション間メンバーを参照します。
mbrCount=@COUNT(SKIPNONE,@RELXRANGE(0,0,@XRANGE(Sales->Jan->Actual,Sales->May->Actual)));