count_distinctif() (функция агрегирования) — (предварительная версия)
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Условно подсчитывает уникальные значения, указанные скалярным выражением для каждой сводной группы, или общее количество уникальных значений, если сводная группа опущена. Учитываются только записи, для которых вычисляется true
предикат.
Если требуется только оценка уникальных значений, рекомендуется использовать менее ресурсоемкую функцию агрегирования dcountif .
Примечание.
- Эта функция ограничена 100M уникальными значениями. Попытка применить функцию к выражению, возвращающего слишком много значений, приведет к ошибке среды выполнения (HRESULT: 0x80DA0012).
- Производительность функций может снизиться при работе с несколькими источниками данных из разных кластеров.
- Производительность функций может снизиться при работе с несколькими источниками данных из разных центров событий.
Синтаксис
count_distinctif
(
предикат экспра,
)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
expr | скаляр | ✔️ | Выражение, уникальное значение которого требуется подсчитать. |
predicate | string |
✔️ | Выражение, используемое для фильтрации записей для агрегирования. |
Возвраты
Целочисленное значение, указывающее количество уникальных значений expr для каждой сводной группы, для всех записей, для которых предикат оцениваетсяtrue
.
Пример
В этом примере показано, сколько типов событий шторма, вызывающих смерть, произошло в каждом состоянии. Будут подсчитываться только события шторма с ненулевым числом смертей.
Примечание.
Производительность функций может снизиться при работе с несколькими источниками данных из разных кластеров.
StormEvents
| summarize UniqueFatalEvents=count_distinctif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where UniqueFatalEvents > 0
| top 5 by UniqueFatalEvents
Выходные данные
Штат | UniqueFatalEvents |
---|---|
TEXAS | 12 |
CALIFORNIA | 12 |
ОКЛАХОМА | 10 |
NEW YORK | 9 |
КАНЗАС | 9 |