Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Оценивает количество уникальных значений экспрадля строк, в которых предикат оцениваетсяtrue.
Значения NULL игнорируются и не учитываются в вычислении.
Синтаксис
dcountif
(
expr, предикат, [,точность])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
| Имя (название) | Тип | Обязательно | Описание |
|---|---|---|---|
| expr | string |
✔️ | Выражение, используемое для вычисления агрегирования. |
| предикат | string |
✔️ | Выражение, используемое для фильтрации строк. |
| точность | int |
Элемент управления между скоростью и точностью. Если не задано иное, по умолчанию используется значение 1. См . сведения о точности оценки поддерживаемых значений. |
Возвраты
Возвращает оценку количества уникальных значений экспра для строк, в которых .
Совет
dcountif() может возвращать ошибку в случаях, когда все строки или ни одна из строк не передают выражение Predicate.
Примеры
В следующем примере показано, сколько типов смертельных событий шторма произошло в каждом состоянии.
StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents
Показанная таблица результатов содержит только первые 10 строк.
| Штат | DifferentFatalEvents |
|---|---|
| КАЛИФОРНИЯ | 12 |
| ТЕХАС | 12 |
| ОКЛАХОМА | 10 |
| ИЛЛИНОЙС | 9 |
| КАНЗАС | 9 |
| НЬЮ-ЙОРК | 9 |
| НЬЮ-ДЖЕРСИ | 7 |
| ВАШИНГТОН | 7 |
| МИЧИГАН | 7 |
| МИССУРИ | 7 |
| ... | ... |
Точность оценки
Эта функция использует вариант алгоритма HyperLogLog (HLL), который выполняет стохастиическую оценку кратности набора. Алгоритм предоставляет "рычаг управления", который можно использовать для выравнивания точности и времени выполнения под размер памяти:
| Правильность | Ошибка (%) | Число записей |
|---|---|---|
| 0 | 1,6 | 212 |
| 1 | 0,8 | 214 |
| 2 | 0,4 | 216 |
| 3 | 0,28 | 217 |
| 4 | 0,2 | 218 |
Примечание.
Столбец "число записей" — это количество 1-байтных счетчиков в реализации HLL.
Алгоритм включает в себя некоторые положения для выполнения идеального подсчета (нулевой ошибки), если кратность набора достаточно мала:
- если уровень точности равен
1, возвращаются значения 1000; - если уровень точности равен
2, возвращаются значения 8000.
Границы погрешности — вероятностная, а не теоретическая граница. Значение является стандартным отклонением распределения погрешностей (сигма). 99,7 % оценок будут иметь относительную погрешность в 3 сигмы.
На следующем изображении показана функция распределения вероятности относительной погрешности оценки (в процентах) для всех поддерживаемых параметров точности:
Связанное содержимое
- Типы функций агрегирования на первый взгляд
- dcount() (функция агрегирования)
- countif() (функция агрегирования)
- count_distinctif() (функция агрегирования)