주 컨텐츠로 이동
Administrator Guide
최종 업데이트: 2023-06-23
LAG

LAG

설명

LAG
행을 그룹화하고, 필드를 기준으로 행을 정렬하고, 그룹의 현재 행(위)에 지정된 오프셋에 있는 행의 필드 값을 반환하는 윈도우 집계 함수입니다.
다음
PARTITION BY
절은 입력 행 세트를 그룹으로 분할하는 데 사용할 필드를 결정합니다. 다음
ORDER BY
절은 파티션의 행을 정렬하는 방법을 결정합니다.
Workday는 분할 필드에 따라 입력 행을 그룹화하고, 순서 지정 필드에 따라 행을 정렬한 다음, 각 그룹의 집계 표현식(이 함수의 경우 지연)을 계산합니다.

구문

LAG
(
input_field
,
offset
,
default_value
)
OVER
(
PARTITION BY
partitioning_field
[,
partitioning_field
]
ORDER BY
ordering_field
[ASC | DESC] [,
ordering_field
[ASC | DESC]] )

반환 값

행마다
input_field
와 동일한 유형의 값을 1개 반환합니다.

입력 매개변수

input_field
필수 콘텐츠 집계 함수를 수행할 필드입니다. 모든 필드 유형을 지정할 수 있습니다.
offset
(옵션) 값을 반환할 현재 행 앞의 행 수입니다. 영(0) 이상 100 이하의 리터럴 숫자여야 합니다. 오프셋을 지정하지 않으면 Workday는 값 1을 사용합니다.
default_value
(옵션) 오프셋 행이 현재 정의된 윈도우를 벗어나거나 오프셋 행의 값이 NULL인 경우 이 함수가 반환하는 값입니다.
default_value는
input_field
와 유형이 동일해야 합니다. 기본값을 지정하지 않으면 Workday는 NULL 값을 사용합니다.
OVER()
필수입니다.
OVER
기간 내에 사용해야 합니다.
LAG
표현식
PARTITION
BYpartitioning_field
필수 콘텐츠 다음을 사용합니다.
PARTITION BY
절을 사용하여 입력 행 그룹을 분할하는 데 사용할 하나 이상의 필드를 지정합니다. 통화를 제외한 모든 필드 유형을 지정할 수 있습니다. 예: 월 필드를 파티셔닝 필드로 지정하면 Workday가 월 값이 동일한 모든 레코드를 단일 파티션으로 그룹화합니다.
ORDER BY
order_field
필수 콘텐츠 다음을 사용합니다.
ORDER BY
절을 사용하여 각 파티션 내에서 지정된 필드의 값을 사용하여 파티션의 입력 행을 정렬하는 방법을 지정합니다. 통화를 제외한 모든 필드 유형을 지정할 수 있습니다.
다음을 사용할 수 있습니다.
DESC
또는
ASC
키워드를 사용하여 각 순서 지정 필드에 대해 내림차순(높은 값에서 낮은 값, NULL이 마지막에 표시) 또는 오름차순(낮은 값부터 높은 값, NULL이 먼저 표시)으로 정렬합니다. 순서 필드의 정렬 순서를 지정하지 않으면 Workday가 자동으로 행을 오름차순으로 정렬합니다.

예

예를 들어 다음과 같은 행과 필드가 포함된 데이터세트가 있습니다.
row_ID
Employee_Name
Eff_Date
급여
0
고어
1/1/18
49000
2
고어
1/1/19
56000
3
고어
2017/1/1
44000
4
Freeman
1/1/18
65000
5
Freeman
2017/1/1
57000
6
Freeman
1/1/19
69000
7
Smith
1/1/18
51000
8
Smith
1/1/19
56000
9
Smith
1/1/16
44000
유효일(
Eff_Date
) 필드를 기준으로 각 직원의 행을 오름차순(ASC)으로 정렬할 수 있으므로 최근 급여가 각 파티션에서 첫 번째에 오도록 합니다.
Salary_Increase
필드에 다음 표현식을 사용하여 각 유효일 변경 사이의 급여 변동을 계산합니다.
[Salary] - (LAG([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] ASC) )
다음과 같은 결과가 표시됩니다.
row_ID
Employee_Name
Eff_Date
급여
Salary_Increase
2
고어
1/1/19
56000
7000
0
고어
1/1/18
49000
5000
3
고어
2017/1/1
44000
0
6
Freeman
1/1/19
69000
4000
4
Freeman
1/1/18
65000
8000
5
Freeman
2017/1/1
57000
0
8
Smith
1/1/19
56000
5000
7
Smith
1/1/18
51000
7000
9
Smith
1/1/16
44000
0