주 컨텐츠로 이동
Workday User Guide
최종 업데이트: 2023-06-23
AVG

AVG

설명

AVG
행을 그룹화하고, 필드를 기준으로 행을 정렬하고, 그룹에 있는 모든 유효한 숫자 값의 평균을 반환하는 윈도우 집계 함수입니다. 그룹의 모든 값을 합산하고 유효한(NOT NULL) 행 수로 나눕니다. 다음을 사용할 수 있습니다.
AVG
이동 평균을 계산합니다.
다음
PARTITION BY
절은 입력 행 세트를 그룹으로 분할하는 데 사용할 필드를 결정합니다. 다음
ORDER BY
절은 파티션의 행을 정렬하는 방법을 결정합니다.
Workday는 분할 필드에 따라 입력 행을 그룹화하고, 순서 지정 필드에 따라 행을 정렬한 다음, 각 그룹의 집계 표현식(이 함수의 평균)을 계산합니다.

구문

AVG
(
input_field
)
OVER
(
PARTITION BY
partitioning_field
[,
partitioning_field
]
ORDER BY
ordering_field
[ASC | DESC] [,
ordering_field
[ASC | DESC]]
RANGE
BETWEEN
value
PRECEDING
AND
CURRENT ROW
|
ROWS
win_boundary
|
BETWEEN
win_boundary
AND
win_boundary
)
where
win_boundary
can be:
UNBOUNDED PRECEDING
value
PRECEDING
UNBOUNDED FOLLOWING
value
FOLLOWING
CURRENT ROW

반환 값

유형의 값을 반환합니다.
NUMERIC
또는
DOUBLE
input_field
유형에 따라 다릅니다.

입력 매개변수

input_field
필수 콘텐츠 집계 함수를 수행할 필드입니다. 숫자 필드 또는 통화 필드를 사용할 수 있습니다.
OVER()
필수입니다.
OVER
은(는) 이내에 사용해야 합니다.
AVG
표현식
PARTITION
BYpartitioning_field
필수 콘텐츠 다음을 사용합니다.
PARTITION BY
절을 사용하여 입력 행 그룹을 분할하는 데 사용할 하나 이상의 필드를 지정합니다. 통화를 제외한 모든 필드 유형을 지정할 수 있습니다. 예: 월 필드를 파티셔닝 필드로 지정하면 Workday가 월 값이 동일한 모든 레코드를 단일 파티션으로 그룹화합니다.
ORDER BY
order_field
필수 콘텐츠 다음을 사용합니다.
ORDER BY
절을 사용하여 각 파티션 내에서 지정된 필드의 값을 사용하여 파티션의 입력 행을 정렬하는 방법을 지정합니다. 통화를 제외한 모든 필드 유형을 지정할 수 있습니다. 그러나 숫자 필드 유형을 사용하는 경우 정수 또는 숫자와 같은 숫자 필드 유형을 사용해야 합니다.
RANGE
다음을 사용할 수 있습니다.
DESC
또는
ASC
키워드를 사용하여 각 순서 지정 필드에 대해 내림차순(높은 값에서 낮은 값, NULL이 마지막에 표시) 또는 오름차순(낮은 값부터 높은 값, NULL이 먼저 표시)으로 정렬합니다. 순서 필드의 정렬 순서를 지정하지 않으면 Workday가 자동으로 행을 오름차순으로 정렬합니다.
행 | 범위
필수 콘텐츠 다음
ROWS
RANGE
절은 윈도우 프레임을 지정하여 파티션 내의 특정 행 수(현재 행을 기준으로 함)를 정의합니다. 윈도우 경계라고 하는 파티션 내에서 시작 및 종료 지점을 지정하여 윈도우 프레임을 정의합니다. 윈도우 프레임은 집계 표현식(이 함수의 평균)을 계산할 각 파티션의 입력 행 세트입니다. 창 프레임에는 파티션의 하나, 여러 행 또는 모든 행이 포함될 수 있습니다.
둘 다
ROWS
RANGE
현재 행을 기준으로 행 범위를 지정하지만,
RANGE
값에 대해 논리적으로 연산(논리적 연결) 및
ROWS
데이터세트의 행에서 물리적으로 작동합니다(물리적 연결).
RANGE
현재 값을 기준으로 지정된 범위 내의 값을 가진 행을 포함하도록 윈도우 프레임을 제한합니다.
ROWS
은 현재 행 옆에 있는 행을 포함하도록 윈도우 프레임을 제한합니다.
사용
RANGE
- 지난 3개월 또는 연간누계(YTD)와 같은 절대 윈도우 경계를 정의합니다. 다음을 사용하는 경우
RANGE
,
ORDER BY
절은 정수 또는 숫자와 같은 숫자 필드 유형을 사용해야 합니다.
예를 들어, 해당 연도의 월 수를 나타내는 MonthNum이라는 정수 필드가 있다고 가정합니다(값 1 ~ 12). 지난 3개월의 모든 값을 지정하려면 MonthNum을 기준으로 정렬하고 다음을 사용합니다.
RANGE BETWEEN 2 PRECEDING AND CURRENT ROW
. 이 RANGE 절은 현재 월과 이전 2개월을 포함하므로 결과적으로 총 3개월이 됩니다.
다음을 사용하여 윈도우 함수가 포함된 데이터세트를 게시하는 경우
RANGE
의 경우, 창의 행 수는 1,000개 이하여야 합니다. 특정 기간이 1,000개 행을 초과하면 게시 작업이 실패합니다.
win_boundary
필수 콘텐츠 창 경계는 창틀의 시작점과 끝점을 정의합니다. Window 경계는 현재 행을 기준으로 합니다.
A
PRECEDING
절은 현재 행(현재 행 앞에 포함할 행 수)보다 작은 윈도우 경계를 정의합니다. 다음
FOLLOWING
절은 현재 행(현재 행 뒤에 포함할 행 수)보다 큰 윈도우 경계를 정의합니다.
윈도우 경계를 하나만 지정하면 Workday는 현재 행을 윈도우 프레임의 다른 경계(표현식 구문에 따라 상한 또는 하한)로 사용합니다. 다음
UNBOUNDED
키워드는 지정된 방향의 모든 행을 포함합니다. 창 프레임의 시작과 끝을 모두 지정해야 하는 경우
BETWEEN
AND
키워드
특정 행 수를 지정하는 경우
값은
100 이하여야 합니다.
예:
ROWS 2 PRECEDING
은 윈도우의 크기가 3개 행이며, 이전의 2개 행부터 현재 행까지의 크기임을 의미합니다.
예:
ROWS UNBOUNDED FOLLOWING
은 윈도우가 현재 행에서 시작되고 현재 행과 현재 행 다음의 모든 행을 포함함을 의미합니다.

각 직원의 이동 평균(이동 평균 또는 실행 평균) 매출을 계산할 수 있습니다.
AVG([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
ORDER BY 절의 필드에 관계없이 파티션의 모든 행에 대한 전체 평균 매출을 계산할 수 있습니다.
AVG([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
12개월 롤링 평균은 다음과 같이 계산할 수 있습니다.
AVG([fieldA]) OVER( PARTITION BY [fieldB] ORDER BY [Month] RANGE 11 PRECEDING)
다음
Month
필드는 숫자 필드 유형(예: 정수 또는 숫자)이어야 합니다.
이전 연간누계(YTD) 평균을 다음과 같이 계산할 수 있습니다.
AVG([fieldA]) OVER( PARTITION BY [fieldB] ORDER BY [Year] RANGE 1 PRECEDING)
다음
Year
필드는 숫자 필드 유형(예: 정수 또는 숫자)이어야 합니다.