다음을 통해 공유


dcountif()(집계 함수)

조건자가 계산되는 행에 대한 expr고유 값 수를 예측합니다true.

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

참고 항목

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

구문

dcountif(expr, 조건자, [, 정확도])

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

매개 변수

이름 Type 필수 설명
expr string ✔️ 집계 계산에 사용되는 식입니다.
predicate string ✔️ 행을 필터링하는 데 사용되는 식입니다.
정밀 int 속도와 정확도 사이의 컨트롤입니다. 지정하지 않으면 기본값 1가 사용됩니다. 지원되는 값에 대한 예측 정확도를 참조하세요.

반품

조건자가 계산되는 행에 대한 expr고유 값 수에 대한 추정값을 true반환합니다.

dcountif() 는 모든 행 또는 행이 식을 전달하지 않는 경우 오류를 반환할 Predicate 수 있습니다.

예시

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

StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents 

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

State(상태) DifferentFatalEvents
캘리포니아 12
TEXAS 12
OKLAHOMA 10
일리노이주 9
KANSAS 9
NEW YORK 9
NEW JERSEY 7
WASHINGTON 7
미시간 7
MISSOURI 7
... ...

추정 정확도

이 함수는 집합 카디널리티의 확률적 추정을 수행하는 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 오류 분포를 보여 주는 그래프입니다.