다음을 통해 공유


dcount()(집계 함수)

요약 그룹의 스칼라 식에서 가져온 고유 값의 예상 수를 계산합니다.

Null 값은 무시되며 계산에 영향을 주지 않습니다.

참고

dcount() 집계 함수는 주로 대형 집합의 카디널리티를 추정하는 데 유용합니다. 성능에 대한 정확도를 거래하며 실행마다 다른 결과를 반환할 수 있습니다. 입력 순서는 출력에 영향을 미칠 수 있습니다.

참고

이 함수는 summarize 연산자와 함께 사용됩니다.

Syntax

dcount(expr[,정확도])

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 형식 필수 Description
expr string ✔️ 고유 값을 계산할 입력입니다.
정확도 int 요청된 추정 정확도를 정의하는 값입니다. 기본값은 1입니다. 지원되는 값은 예측 정확도 를 참조하세요.

반환

그룹에 있는 expr 의 고유 값 수에 대한 추정값을 반환합니다.

예제

이 예제에서는 각 상태에서 발생한 폭풍 이벤트의 유형 수를 보여 줍니다.

StormEvents
| summarize DifferentEvents=dcount(EventType) by State
| order by DifferentEvents

표시된 결과 테이블에는 처음 10개의 행만 포함됩니다.

시스템 상태 DifferentEvents
텍사스 27
캘리포니아 26
펜실베이니아 25
GEORGIA 24
일리노이 23
메릴랜드 23
노스캐롤라이나 23
미시간 22
FLORIDA 22
오 레 곤 21
캔자스 21
... ...

추정 정확도

이 함수는 설정된 카디널리티의 확률적 추정을 수행하는 HLL(HyperLogLog) 알고리즘의 변형을 사용합니다. 알고리즘은 메모리 크기당 정확도와 실행 시간의 균형을 맞추는 데 사용할 수 있는 "노브"를 제공합니다.

정확도 오류(%) 항목 수
0 1.6 212
1 0.8 214
2 0.4 216
3 0.28 217
4 0.2 218

참고

"항목 수" 열은 HLL 구현에서 1바이트 카운터의 수입니다.

알고리즘에는 설정 카디널리티가 충분히 작을 경우 완전한 개수(오류 0개)를 수행하기 위한 몇 가지 프로비전이 포함됩니다.

  • 정확도 수준이 1이면 1000개의 값이 반환됩니다.
  • 정확도 수준이 2이면 8000개의 값이 반환됩니다.

바인딩된 오류는 이론적 바운드가 아닌 확률입니다. 값은 오차 분포의 표준 편차(시그마)이며, 추정치의 99.7%는 3 x 시그마 미만의 상대 오차를 갖습니다.

다음 이미지는 지원되는 모든 정확도 설정에 대한 상대적 추정 오차의 확률 분포 함수를 백분율로 보여줍니다.

hll 오류 분포를 보여 주는 그래프입니다.