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


row_rank_dense()

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

Возвращает плотный ранг текущей строки в сериализованном наборе строк.

Ранг строки начинается по умолчанию 1 для первой строки и увеличивается по 1 мере того, как указанный термин отличается от термина предыдущей строки.

Синтаксис

row_rank_dense( Срок )

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

Параметры

Имя (название) Type Обязательно Описание
Термин string ✔️ Выражение, указывающее значение, которое следует учитывать для ранжирования. Ранг увеличивается всякий раз, когда термин изменяется.
restart bool Указывает, когда нумерация должна быть перезапущена в значение StartingIndex . Значение по умолчанию — false.

Возвраты

Возвращает ранг строк текущей строки в качестве значения типа long.

Пример

В следующем запросе показано, как ранжировать Airline по количеству вылетов из SEA Airport с помощью плотного ранга.

datatable (Airport:string, Airline:string, Departures:long)
[
  "SEA", "LH", 3,
  "SEA", "LY", 100,
  "SEA", "UA", 3,
  "SEA", "BA", 2,
  "SEA", "EL", 3
]
| sort by Departures asc
| extend Rank=row_rank_dense(Departures)

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

Аэропорт Airline Вылет Rank
SEA BA 2 1
SEA ЛЕВАЯ 3 2
SEA UA 3 2
SEA EL 3 2
SEA LY 100 3

В следующем примере показано, как ранжировать Airline по количеству вылетов на каждую секцию. Здесь мы секционируем данные по Airport:

datatable (Airport:string, Airline:string, Departures:long)
[
  "SEA", "LH", 3,
  "SEA", "LY", 100,
  "SEA", "UA", 3,
  "SEA", "BA", 2,
  "SEA", "EL", 3,
  "AMS", "EL", 1,
  "AMS", "BA", 1
]
| sort by Airport desc, Departures asc
| extend Rank=row_rank_dense(Departures, prev(Airport) != Airport)

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

Аэропорт Airline Вылет Rank
SEA BA 2 1
SEA ЛЕВАЯ 3 2
SEA UA 3 2
SEA EL 3 2
SEA LY 100 3
AMS EL 1 1
AMS BA 1 1