- 카테고리:
ACCEPTED_VALUES(시스템 데이터 메트릭 함수)¶
열의 값이 부울 식과 일치하지 않는 레코드 수를 반환합니다.
구문¶
SNOWFLAKE.CORE.ACCEPTED_VALUES ON ( <column>, <lambda-expression> )
인자¶
columnlambda-expression의 부울 식과 비교되는 값이 포함된 열을 지정합니다.lambda-expressioncolumn -> expression구문으로 구성된 람다 식을 지정합니다.이 함수는
column값이 부울 식과 일치하지 않는 레코드 수를 반환합니다. 이 식은 다음 연산과 함수를 사용할 수 있습니다.람다 식의
column은 항상column인자와 일치합니다.
허용되는 데이터 타입¶
column 및 lambda-expression 인자에 지정된 열은 다음 데이터 타입 중 하나를 포함할 수 있습니다.
DATE
FLOAT
NUMBER
TIMESTAMP_LTZ
TIMESTAMP_NTZ
TIMESTAMP_TZ
VARCHAR
반환¶
이 함수는 NUMBER 값을 반환합니다.
액세스 제어 요구 사항¶
시스템 DMF를 연결하고 실행하려면 시스템 DMF에 대한 USAGE 권한이 필요합니다. 사용자에게 모든 시스템 DMFs에 대한 USAGE 권한을 부여하기 위해 SNOWFLAKE.DATA_METRIC_USER 데이터베이스 역할을 부여할 수 있습니다. 자세한 내용은 시스템 DMFs에 대해 USAGE 권한 부여 섹션을 참조하십시오.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
사용자는 이 함수를 직접 호출할 수 없습니다. 함수를 테이블 또는 뷰와 연결하여 규칙적인 간격으로 실행되도록 하는 방법을 알아보려면 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'));