ACCEPTED_VALUES
ACCEPTED_VALUES (시스템 데이터 메트릭 함수)
열의 값이 Boolean 표현식과 일치하지 않는 레코드 수를 반환해요.
Enterprise Edition 기능
데이터 품질 모니터링에는 Enterprise Edition이 필요해요. 업그레이드에 대해 문의하려면 Snowflake Support에 연락해주세요.
본문
구문
SNOWFLAKE.CORE.ACCEPTED_VALUES ON ( <column>, <lambda-expression> )
인자
column
lambda-expression의 Boolean 표현식과 비교되는 값을 포함하는 열을 지정해요.
lambda-expression
다음 구문으로 구성된 람다 표현식을 지정해요: column -> expression.
함수는 열의 값이 Boolean 표현식과 일치하지 않는 레코드 수를 반환해요. 이 표현식은 다음 연산과 함수를 사용할 수 있어요:
- 비교 연산자
- 논리 연산자
- [ NOT ] LIKE
- [ NOT ] IN
- IS [ NOT ] NULL
람다 표현식의 열은 항상 column 인자와 일치해요.
허용되는 데이터 타입
column 및 lambda-expression 인자에 지정된 열은 다음 데이터 타입 중 하나를 포함할 수 있어요:
- DATE
- FLOAT
- NUMBER
- TIMESTAMP_LTZ
- TIMESTAMP_NTZ
- TIMESTAMP_TZ
- VARCHAR
반환 값
함수는 NUMBER 값을 반환해요.
사용상 주의사항
- 이 함수를 직접 호출할 수 없어요. 정기적인 간격으로 실행되도록 함수를 테이블 또는 뷰와 연결하는 방법을 배우려면 Associate a DMF를 참고해요. SYSTEM$DATA_METRIC_SCAN 함수를 사용해 연결하지 않고 테이블에 대해 ACCEPTED_VALUES 함수를 실행할 수 있어요.
- 같은 열에 이 함수를 두 번 이상 연결할 수 없어요.
- ACCEPTED_VALUES 함수에 지정된 열의 이름을 바꾸면 함수와 열의 테이블 또는 뷰 사이의 연결이 끊어져요. 열 이름을 바꾸면 함수를 테이블 또는 뷰에 다시 연결해야 해요.
예시
age 열의 값이 5와 같지 않은 레코드 수를 반환하도록 함수를 테이블 t1에 연결해요:
ALTER TABLE t1
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (age, age -> age = 5);
order_status 열의 값이 문자열 Pending, Dispatched, Delivered 목록에 없는 레코드 수를 반환하도록 함수를 뷰 order_details에 연결해요:
ALTER VIEW order_details
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (
order_status,
order_status -> order_status IN ('Pending', 'Dispatched', 'Delivered'));
더 알아보기
- Data metric functions — 데이터 메트릭 함수 모음
- Associate a DMF — 데이터 메트릭 함수 연결