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)개의 이전 노드를 포함합니다. 이동 평균을 계산하는 데 사용할 수 있습니다. 사용자 지정 표현식의 예: Sum([Sales]) OVER (LastPeriods(3, [Axis.X]))/3 계산된 컬럼의 예: Sum([Sales]) - Sum([Sales]) OVER (LastPeriods([Hierarchy.TimeHierarchy])) |
NavigatePeriod | 나만의 노드 탐색을 지정할 수 있습니다. 이 메서드에는 네 개의 인수가 있습니다. 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 | 현재 노드를 계층의 동일한 수준에 있는 다음 노드와 비교합니다. 다음 노드가 없는 경우 즉, 현재 노드가 현재 수준의 마지막 노드인 경우 결과 하위 집합에 포함된 행이 없습니다. 사용자 지정 표현식의 예: Sum([Sales]) - Sum([Sales]) OVER (Next([Axis.X])) Count() OVER Next([Axis.X], 2) 계산된 컬럼의 예: Max([Sales]) OVER (Intersect([Category],Next([Year]))) |
NextPeriod | 현재 노드와 동일한 수준에 다음 값이 있는 다음 노드를 사용합니다. 다음 노드가 없는 경우 즉, 현재 노드가 현재 수준의 마지막 노드인 경우 결과 하위 집합에 포함된 행이 없습니다. 사용자 지정 표현식의 예: Sum([Sales]) OVER (NextPeriod([Axis.X])) Count() OVER NextPeriod([Axis.X], 2) 계산된 컬럼의 예: Max([Sales]) OVER (Intersect([Category],NextPeriod([Year]))) |
ParallelPeriod | 현재 노드와 동일한 수준에 동일한 값을 가진 이전 병렬 노드를 사용합니다. 예를 들어 각 달의 판매 결과를 이전 연도의 해당 달과 비교하는 데 사용할 수 있습니다. 사용자 지정 표현식의 예: 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 | 현재 노드와 동일한 수준의 이전 노드를 사용하여 현재 노드의 결과를 이전 노드와 비교합니다. 이전 노드가 없는 경우 즉, 현재 노드가 현재 수준의 첫 번째 노드인 경우 결과 하위 집합에 포함된 행이 없습니다. 사용자 지정 표현식의 예: Sum([Sales]) - Sum([Sales]) OVER (Previous([Axis.X])) Count() OVER Previous([Axis.X], 2) 계산된 컬럼의 예: Max([Sales]) OVER (Intersect([Category],Previous([Year]))) |
PreviousPeriod | 현재 노드와 동일한 수준에 이전 값이 있는 이전 노드를 사용합니다. 이전 노드가 없는 경우 즉, 현재 노드가 현재 수준의 첫 번째 노드인 경우 결과 하위 집합에 포함된 행이 없습니다. 사용자 지정 표현식의 예: Sum([Sales]) OVER (PreviousPeriod([Axis.X])) Count() OVER PreviousPeriod([Axis.X], 2) 계산된 컬럼의 예: Max([Sales]) OVER (Intersect([Category],PreviousPeriod([Year]))) |