카테고리:

데이터 메트릭 함수

ACCEPTED_VALUES(시스템 데이터 메트릭 함수)

열의 값이 부울 식과 일치하지 않는 레코드 수를 반환합니다.

구문

SNOWFLAKE.CORE.ACCEPTED_VALUES ON ( <column>, <lambda-expression> )
Copy

인자

column

lambda-expression 의 부울 식과 비교되는 값이 포함된 열을 지정합니다.

lambda-expression

column -> expression 구문으로 구성된 람다 식을 지정합니다.

이 함수는 column 값이 부울 식과 일치하지 않는 레코드 수를 반환합니다. 이 식은 다음 연산과 함수를 사용할 수 있습니다.

람다 식의 column 은 항상 column 인자와 일치합니다.

허용되는 데이터 타입

columnlambda-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);
Copy

order_status 의 값이 문자열 목록 Pending, DispatchedDelivered 의 목록에 없는 레코드 수를 반환하도록 함수를 뷰 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'));
Copy