- 카테고리:
윈도우 함수 (일반)
INTERPOLATE_BFILL, INTERPOLATE_FFILL, INTERPOLATE_LINEAR¶
주변 값을 기반으로 누락된 값 사이를 채우기 위해 시계열 데이터 세트의 행을 업데이트합니다.
다음과 같은 보간 윈도우 함수를 호출할 수 있습니다.
INTERPOLATE_BFILL: 다음으로 관찰된 행을 기준으로 행 공백을 채웁니다.
INTERPOLATE_FFILL: 이전에 관찰된 행을 기반으로 행 공백을 채웁니다.
INTERPOLATE_LINEAR: 이전 값과 다음 값의 선형 보간을 기반으로 행 공백을 채웁니다. 이 함수는 숫자 값만 지원합니다.
이러한 함수는 :doc:`윈도우 함수 구문</sql-reference/functions-window-syntax>`이 동일합니다. 명시적 윈도우 프레임은 지원하지 않습니다.
구문¶
인자¶
expr공백을 채우려는 열을 정의하는 표현식입니다.
INTERPOLATE_LINEAR 입력 표현식은 숫자 데이터 타입이어야 합니다.
INTERPOLATE_BFILL 및 INTERPOLATE_FFILL 입력 표현식은 :doc:`지리 공간 데이터 타입</sql-reference/data-types-geospatial>`을 지원하지 않습니다.
매개 변수¶
OVER표준 윈도우 함수 OVER 절입니다. 윈도우 함수 구문 및 사용법 섹션을 참조하십시오. 보간 함수의 경우, PARTITION BY 절은 선택 사항이지만, ORDER BY 절은 필수입니다. 명시적 윈도우 프레임을 지정할 수 없습니다.
INTERPOLATE_LINEAR 함수는 하나의 ORDER BY 표현식만 포함할 수 있으며, 이는 숫자, DATE 또는 TIMESTAMP 표현식(모든 TIMESTAMP 베리언트)이여야 합니다.
반환¶
이러한 함수는 입력 표현식의 데이터 타입과 동일한 데이터 타입을 반환합니다.
사용법 노트¶
RESAMPLE 절이 있는 INTERPOLATE 윈도우 함수를 사용하는 경우, PARTITION BY 절 RESAMPLE(PARTITIONBY) 및 INTERPOLATE(PARTITIONBY) 모두에 분할할 기준이 되는 열을 포함합니다. 이러한 접근 방식은 다음을 보장합니다.
RESAMPLE은 파티션 열에 대해 NULL 값이 이 아닌 값이 있는 행을 생성합니다.
INTERPOLATE 함수는 올바른 파티션 내에서 작동합니다.
WHERE 절 필터는 유지하려는 파티션에 대해 생성된 행을 유지합니다.
INTERPOLATE와 RESAMPLE 사용에 대한 예제는 시계열 데이터의 공백 채우기 섹션을 참조하세요.
예¶
다음 예제에서는 간단한 쿼리에서 보간 함수를 사용하는 방법을 보여줍니다.
두 개의 보간 함수가 있는 예제¶
다음 예제에서는 동일한 쿼리에서 리샘플링된 temperature 값 및 두 개의 서로 다른 보간된 temperature 값을 반환합니다. (테이블 ``march_temps_every_five_mins``는 이 항목의 앞부분에서 만들었습니다.)
bfill_temp 열은 모든 행에 대해 의미 있는 값을 반환하지만, ``ffill_temp``는 첫 번째 행에 대해 NULL을 반환합니다. INTERPOLATE_FFILL 함수가 NULL 이외의 결과를 반환하려면 이전 값이 필요합니다. INTERPOLATE_BFILL 함수에는 다음 값만 필요합니다.
명시적 윈도우 프레임에 대해 예상되는 오류의 예제¶
보간 함수는 명시적 윈도우 프레임을 지원하지 않으므로 다음 쿼리는 오류를 반환합니다.