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