EXTREME_OUTLIER_PERCENT
EXTREME_OUTLIER_PERCENT (시스템 데이터 메트릭 함수)
EXTREME_OUTLIER_PERCENT()는 열 값 중 극단적인 비대칭 Tukey 펜스(extreme asymmetric Tukey fences) 밖에 있는 값의 백분율을 반환해요.
이 함수는 Enterprise Edition 기능이에요. 데이터 품질 모니터링(Data Quality Monitoring)에는 Enterprise Edition이 필요해요. 업그레이드에 대해 문의하려면 Snowflake 지원에 연락하세요.
이 문서는 함수를 직접 호출하는 문법을 제공해요. 함수를 테이블이나 뷰와 연결해 주기적으로 실행하는 방법은 DMF 연결(Associate a DMF)을 참고하세요.
본문
문법
SNOWFLAKE.CORE.EXTREME_OUTLIER_PERCENT(<query>)
인자
query
단일 열을 프로젝션하는 SQL 쿼리를 지정해요.
허용 데이터 타입
*query*가 프로젝션하는 열은 다음 데이터 타입 중 하나여야 해요.
-
FLOAT
-
NUMBER
반환
이 함수는 FLOAT 데이터 타입의 스칼라 값을 반환해요.
사용 지침
-
시스템 DMF를 수동으로 호출할 때는 사용 중인 허용 데이터 타입을 지정할 필요가 없어요. 측정하려는 열에 대한 쿼리만 지정하면 돼요. Snowflake가 함수의 허용 데이터 타입을 열의 데이터 타입과 일치시켜요.
-
이 함수는 NULL이 아니고 NaN이 아닌 값들의 제1사분위수, 제2사분위수(중앙값), 제3사분위수(Q1, Q2, Q3)를 계산한 다음,
Q1 - 6 * (Q2 - Q1)보다 작거나Q3 + 6 * (Q3 - Q2)보다 큰 값의 백분율을 측정해요. 이는 OUTLIER_PERCENT가 사용하는 펜스보다 넓어서 가장 극단적인 값만 표시해요. -
백분율의 분모에는 프로젝션된 열이 NULL이거나 NaN인 행을 포함한 테이블의 모든 행이 포함돼요.
-
열에 NULL이 아니고 NaN이 아닌 값이 100개 미만이거나, 필요한 사분위수가 유한하지 않으면 함수는 0을 반환해요.
-
이 함수는 최대 약 100억 행의 테이블에 최적화돼 있어요. 이 범위를 넘으면 평가 지연 시간이 늘어나 DMF 스케줄링 창 안에 메트릭이 완료되지 않을 수 있어요.
-
이 함수의 평가는 열을 스캔하고 그 위에서 사분위수를 계산하므로, 소비되는(따라서 비용이 드는) 서버리스 컴퓨팅이 테이블 크기에 비례해요. DMF 평가 청구 방식에 대한 정보는 비용 고려사항(Cost considerations)을 참고하세요.
예제
판매 테이블에서 order_total 열의 극단적 이상치 비율 측정:
SELECT SNOWFLAKE.CORE.EXTREME_OUTLIER_PERCENT(
SELECT
order_total
FROM sales.public.orders
);
+-------------------------------------------------------------------------------------+
| SNOWFLAKE.CORE.EXTREME_OUTLIER_PERCENT(SELECT order_total FROM sales.public.orders) |
+-------------------------------------------------------------------------------------+
| 0.006 |
+-------------------------------------------------------------------------------------+