OVER 関数

OVER 関数は、データをスライスする方法 (期間に基づいてスライスするなど) を決定するために使用されます。

注: OVER 関数の使用方法は、カスタム演算式と計算カラムで異なります。カスタム演算式では軸への参照を含めることができますが、計算カラムではカラムまたは固定階層のみ参照できます。

詳細については、「OVER ステートメントを使用してデータ スライスを参照する」および「計算カラムにOVER ステートメントを使用する」を参照してください。

オプション 説明
All 参照する階層のすべてのノードを使用します。このメソッドは、現在のノードを複数の階層と交差させる場合に便利です。たとえば、さまざまな製品カテゴリの各月の相対的な売上高を表示することができます。

カスタム演算式の例:

Sum([Sales]) / Sum([Sales]) OVER (Intersect(All([Axis.Color]), [Axis.X]))

Sum([Sales]) / Sum([Sales]) OVER (All([Axis.X])) * 100

計算カラムの例:

Sum([Sales]) OVER All([Date])

Max([Sales]) OVER Intersect([Category], All([Date]))

AllNext レベルの終了まで、現在を含むすべてのノードを使用します。

カスタム演算式の例:

Sum([Sales]) OVER (AllNext([Axis.X]))

計算カラムの例:

Sum([Sales]) OVER AllNext([Date])

Max([Sales]) OVER Intersect([Category], AllNext([Date]))

AllPrevious レベルの開始から、現在を含むすべてのノードを使用します。累積合計の計算に使用できます。

カスタム演算式の例:

Sum([Sales]) OVER (AllPrevious([Axis.X]))

Sum([Sales]) OVER (Intersect(Parent([Axis.X]), AllPrevious([Axis.X])))

計算カラムの例:

Sum([Sales]) OVER AllPrevious([Date])

Max([Sales]) OVER Intersect([Category], AllPrevious([Date]))

FirstNode 現在のレベルの最初のノードを選択します。

カスタム演算式の例:

Sum([Sales]) - Sum([Sales]) OVER (FirstNode([Axis.X]))

計算カラムの例:

Sum([Sales]) - Sum([Sales]) OVER (FirstNode([Hierarchy.TimeHierarchy]))

Intersect 異なる階層のノードから交差するローを返します。AllPreviousAll も参照してください。

カスタム演算式の例:

Intersect(Parent([Axis.X]), All([Axis.Color]), Parent([Axis.Rows]), ...)

計算カラムの例:

Sum([Sales]) OVER Intersect([Category], AllPrevious([Date]))

LastNode 現在のレベルの最後のノードを選択します。

カスタム演算式の例:

Sum([Sales]) - Sum([Sales]) OVER (LastNode([Axis.X]))

計算カラムの例:

Sum([Sales]) - Sum([Sales]) OVER (LastNode([Hierarchy.TimeHierarchy]))

LastPeriods 現在のノードと n - 1 Previous ノードを含みます。このメソッドは、移動平均を計算するために使用できます。

カスタム演算式の例:

Sum([Sales]) OVER (LastPeriods(3, [Axis.X]))/3

計算カラムの例:

Sum([Sales]) - Sum([Sales]) OVER (LastPeriods([Hierarchy.TimeHierarchy]))

NavigatePeriod 独自のノード ナビゲーションを指定できます。このメソッドには次の 4 つの引数があります。

Arg1は移動する階層です。

Arg2は、移動する階層の上層レベルを指定する文字列値です。

Arg3は、Arg1 で指定したレベルで階層内を左右に移動するステップ数を指定する整数です。

Arg4は、オプションで、下に移動する階層のレベルを定義します。この引数は、リーフ レベルへの移動が行われる場合には省略可能です。

カスタム演算式の例:

Sum([Sales]) OVER NavigatePeriod([Axis.X], "Year", -1)

Sum([Value]) OVER NavigatePeriod([Axis.X], "Year", 0, 0)

Sum([Sales]) OVER NavigatePeriod([Axis.X], 2, -1, 2)

計算カラムの例:

Avg([Sales]) OVER (NavigatePeriod([Hierarchy.TimeHierarchy],0,-10)) - Avg([Sales])OVER (NavigatePeriod([Hierarchy.TimeHierarchy],0,10))

Next 現在のノードを階層内の同じレベル Next ノードと比較します。Next ノードがない場合、すなわち現在のノードが現在のレベルの最後のノードとなる場合、結果として生成されるサブセットにはローが含まれません。

カスタム演算式の例:

Sum([Sales]) - Sum([Sales]) OVER (Next([Axis.X]))

Count() OVER Next([Axis.X], 2)

計算カラムの例:

Max([Sales]) OVER (Intersect([Category],Next([Year])))

NextPeriod Next 値を含む Next ノードを現在のノードと同じレベルで使用します。Next ノードがない場合、すなわち現在のノードが現在のレベルの最後のノードとなる場合、結果として生成されるサブセットにはローが含まれません。

カスタム演算式の例:

Sum([Sales]) OVER (NextPeriod([Axis.X]))

Count() OVER NextPeriod([Axis.X], 2)

計算カラムの例:

Max([Sales]) OVER (Intersect([Category],NextPeriod([Year])))

ParallelPeriod 同じ値を含む Previous Parallel ノードを現在のノードと同じレベルで使用します。たとえば、このメソッドは、各月の売上高の結果を前年の対応する月と比較するために使用できます。

カスタム演算式の例:

Sum([Sales])-Sum([Sales]) OVER (ParallelPeriod([Axis.X]))

計算カラムの例:

Sum([Sales])-Sum([Sales]) OVER (ParallelPeriod([Hierarchy.TimeHierarchy]))

Parent 現在のノードの親サブセットを使用します。ノードに親がない場合、すべてのローはサブセットとして使用されます。

カスタム演算式の例:

Sum([Sales]) / Sum([Sales]) OVER (Parent([Axis.Color]))

Sum([Sales]) / Sum([Sales]) OVER (Parent([Axis.X])) * 100

Avg([Sales]) OVER Parent([Axis.X])

計算カラムの例:

Sum([Sales]) OVER (Parent([Hierarchy.TimeHierarchy]))

Previous Previous ノードを現在のノードと同じレベルで使用して、現在のノードの結果を Previous ノードと比較します。Previous ノードがない場合、すなわち現在のノードが現在のレベルの最初のノードとなる場合、結果として生成されるサブセットにはローが含まれません。

カスタム演算式の例:

Sum([Sales]) - Sum([Sales]) OVER (Previous([Axis.X]))

Count() OVER Previous([Axis.X], 2)

計算カラムの例:

Max([Sales]) OVER (Intersect([Category],Previous([Year])))

PreviousPeriod Previous 値を含む Previous ノードを現在のノードと同じレベルで使用します。Previous ノードがない場合、すなわち現在のノードが現在のレベルの最初のノードとなる場合、結果として生成されるサブセットにはローが含まれません。

カスタム演算式の例:

Sum([Sales]) OVER (PreviousPeriod([Axis.X]))

Count() OVER PreviousPeriod([Axis.X], 2)

計算カラムの例:

Max([Sales]) OVER (Intersect([Category],PreviousPeriod([Year])))

関数」も参照してください。