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 | 異なる階層のノードから交差するローを返します。AllPreviousと All も参照してください。 カスタム演算式の例: 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]))) |