OUTLIER_COUNT

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

OUTLIER_COUNT()는 열의 NULL이 아니고 NaN이 아닌 값 중 해당 열의 비대칭 Tukey 펜스(asymmetric Tukey fences) 밖에 있는 값의 개수를 반환해요.

이 함수는 Enterprise Edition 기능이에요. 데이터 품질 모니터링(Data Quality Monitoring)에는 Enterprise Edition이 필요해요. 업그레이드에 대해 문의하려면 Snowflake 지원에 연락하세요.

이 문서는 함수를 직접 호출하는 문법을 제공해요. 함수를 테이블이나 뷰와 연결해 주기적으로 실행하는 방법은 DMF 연결(Associate a DMF)을 참고하세요.

출처: Snowflake SQL Reference

본문

문법

SNOWFLAKE.CORE.OUTLIER_COUNT(<query>)

인자

query

단일 열을 프로젝션하는 SQL 쿼리를 지정해요.

허용 데이터 타입

*query*가 프로젝션하는 열은 다음 데이터 타입 중 하나여야 해요.

  • FLOAT

  • NUMBER

반환

이 함수는 NUMBER 데이터 타입의 스칼라 값을 반환해요.

사용 지침

  • 시스템 DMF를 수동으로 호출할 때는 사용 중인 허용 데이터 타입을 지정할 필요가 없어요. 측정하려는 열에 대한 쿼리만 지정하면 돼요. Snowflake가 함수의 허용 데이터 타입을 열의 데이터 타입과 일치시켜요.

  • 이 함수는 NULL이 아니고 NaN이 아닌 값들의 제1사분위수, 제2사분위수(중앙값), 제3사분위수(Q1, Q2, Q3)를 계산한 다음, Q1 - 3 * (Q2 - Q1)보다 작거나 Q3 + 3 * (Q3 - Q2)보다 큰 값을 세요.

  • 열에 NULL이 아니고 NaN이 아닌 값이 100개 미만이거나, 필요한 사분위수가 유한하지 않으면 함수는 0을 반환해요.

  • 이 함수는 최대 약 100억 행의 테이블에 최적화돼 있어요. 이 범위를 넘으면 평가 지연 시간이 늘어나 DMF 스케줄링 창 안에 메트릭이 완료되지 않을 수 있어요.

  • 이 함수의 평가는 열을 스캔하고 그 위에서 사분위수를 계산하므로, 소비되는(따라서 비용이 드는) 서버리스 컴퓨팅이 테이블 크기에 비례해요. DMF 평가 청구 방식에 대한 정보는 비용 고려사항(Cost considerations)을 참고하세요.

예제

판매 테이블에서 order_total 열의 이상치 값 개수 측정:

SELECT SNOWFLAKE.CORE.OUTLIER_COUNT(
  SELECT
    order_total
  FROM sales.public.orders
);
+---------------------------------------------------------------------------+
| SNOWFLAKE.CORE.OUTLIER_COUNT(SELECT order_total FROM sales.public.orders) |
+---------------------------------------------------------------------------+
| 12                                                                        |
+---------------------------------------------------------------------------+

더 알아보기