Поделиться через


rank_tdigest()

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Вычисляет приблизительный ранг значения в наборе. Ранг значения v в наборе S определяется как количество элементов S , которые меньше или равны v, S представлены его tdigest.

Синтаксис

rank_tdigest(значение дайджеста, )

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
digest string Выражение, созданное tdigest() или tdigest_merge().
значение скаляр Выражение, представляющее значение, используемое для вычисления ранжирования.

Возвраты

Значение ранга foreach в наборе данных.

Совет

Значения, которые требуется получить, должны иметь тот же тип, что и для tdigest.

Примеры

В отсортированный список (1–1000), ранг 685 — это его индекс:

range x from 1 to 1000 step 1
| summarize t_x=tdigest(x)
| project rank_of_685=rank_tdigest(t_x, 685)

Выходные данные

rank_of_685
685

Этот запрос вычисляет ранг значения 4490$ по всем затратам на повреждения:

StormEvents
| summarize tdigestRes = tdigest(DamageProperty)
| project rank_of_4490=rank_tdigest(tdigestRes, 4490) 

Выходные данные

rank_of_4490
50207

Получение предполагаемого процента ранжирования (путем деления по заданному размеру):

StormEvents
| summarize tdigestRes = tdigest(DamageProperty), count()
| project rank_tdigest(tdigestRes, 4490) * 100.0 / count_

Выходные данные

Column1
85.0015237192293

Процентиль 85 расходов на повреждения составляет 4490$:

StormEvents
| summarize tdigestRes = tdigest(DamageProperty)
| project percentile_tdigest(tdigestRes, 85, typeof(long))

Выходные данные

percentile_tdigest_tdigestRes
4490