arg_max() (toplama işlevi)

Sürüm açılan listesini kullanarak hizmetler arasında geçiş yapın. Gezinti hakkında daha fazla bilgi edinin.
Şunlar için geçerlidir: ✅ Microsoft Fabric ✅ Azure Veri Gezgini ✅ Azure İzleyici ✅ Microsoft Sentinel

Tabloda belirtilen ifadeyi en üst düzeye çıkaran bir satır bulur. Giriş tablosunun veya belirtilen sütunların tüm sütunlarını döndürür.

Not

Bu işlev summarize işleciyle birlikte kullanılır.

Kullanım dışı bırakılan diğer adlar: argmax()

Sözdizimi

arg_max ( ExprToMaximize,* | ExprToReturn [, ...])

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Zorunlu Açıklama
ExprToMaximize string ✔️ En yüksek değerin belirlendiği ifade.
ExprToReturn string ✔️ İfade, ExprToMaximizeiçin en yüksek değere sahip olan satırdan hangi sütunların değerlerinin döndürüleceğini belirler. Tüm sütunları döndürmek için joker karakter * kullanın.

Döndürülenler

tablosunda exprToMaximizebelirtilen ifadeyi ve ExprToReturniçinde belirtilen sütunların değerlerini en üst düzeye çıkaran bir satır döndürür.

Bahşiş

Yalnızca en büyük değeri görmek içinmax() işlevini kullanın.

Örnekler

Genel örnekler

Aşağıdaki örnek, her durumdaki bir fırtına olayının enlem üst sınırını bulur.

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

Çıktı

Sonuçlar tablosu yalnızca ilk 10 satırı görüntüler.

Devlet BeginLat BeginLocation
MİSSİSSİPPİ 34.97 BARTON
VERMONT 45 KUZEY TROYA
AMERİKAN SAMOASI -14.2 OFU
HAWAİİ 22.2113 PRİNCEVİLLE
MİNNESOTA 49.35 ARNESEN
RHODE ISLAND 42 WOONSOCKET
INDİANA 41.73 FREMONT
WEST VIRGINIA 40.62 CHESTER
GÜNEY CAROLINA 35.18 LANDRUM
TEXAS 36.4607 DARROUZETT
... ... ...

Aşağıdaki örnek, her durumda doğrudan ölümle sonuçlan bir olayın en son ne zaman gerçekleştiğini bulur ve tüm sütunları gösterir.

Sorgu önce olayları yalnızca en az bir doğrudan ölümün olduğu olayları içerecek şekilde filtreler. Ardından sorgu, en son StartTimeolan satırın tamamını döndürür.

StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *) by State

Çıktı

Sonuçlar tablosu yalnızca ilk 10 satırı ve ilk üç sütunu görüntüler.

Devlet Başlama Saati BitişZamanı ...
GUAM 2007-01-27T11:15:00Z 2007-01-27T11:30:00Z ...
MASSACHUSETTS 2007-02-03T22:00:00Z 2007-02-04T10:00:00Z ...
AMERİKAN SAMOASI 2007-02-17T13:00:00Z 2007-02-18T11:00:00Z ...
IDAHO 2007-02-17T13:00:00Z 2007-02-17T15:00:00Z ...
DELAWARE 2007-02-25T13:00:00Z 2007-02-26T01:00:00Z ...
WYOMİNG 2007-03-10T17:00:00Z 2007-03-10T17:00:00Z ...
NEW MEXICO 2007-03-23T18:42:00Z 2007-03-23T19:06:00Z ...
INDİANA 2007-05-15T14:14:00Z 2007-05-15T14:14:00Z ...
MONTANA 2007-05-18T14:20:00Z 2007-05-18T14:20:00Z ...
MICHIGAN GÖLÜ 2007-06-07T13:00:00Z 2007-06-07T13:00:00Z ...
... ... ... ...

Aşağıdaki örnekte null işleme gösterilmektedir.

datatable(Fruit: string, Color: string, Version: int) [
    "Apple", "Red", 1,
    "Apple", "Green", int(null),
    "Banana", "Yellow", int(null),
    "Banana", "Green", int(null),
    "Pear", "Brown", 1,
    "Pear", "Green", 2,
]
| summarize arg_max(Version, *) by Fruit

Çıktı

Meyve Sürüm Renk
Elma 1 Kırmızı
Muz Sarı
Armut 2 Yeşil

arg_max() ve max() karşılaştırma örnekleri

arg_max() işlevi,max() işlevinden farklıdır. arg_max() işlevi, maksimum değerle birlikte diğer sütunları döndürmenize olanak tanır ve max() yalnızca maksimum değerin kendisini döndürür.

Aşağıdaki örnekte arg_max() kullanarak her durumda en son ne zaman bir doğrudan ölüm olayı gerçekleştiğini ve tüm sütunların gösterildiğini bulabilirsiniz. Sorgu önce olayları yalnızca en az bir doğrudan ölümün olduğu olayları içerecek şekilde filtreler. Ardından sorgu, en son (maksimum) StartTime değeriyle satırın tamamını döndürür.

StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *)

Sonuçlar tablosu, belirtilen ifadede en yüksek değeri içeren satırın tüm sütunlarını döndürür.

Başlama Saati BitişZamanı Bölüm Kimliği EventId Devlet EtkinlikTürü ...
2007-12-31T15:00:00Z 2007-12-31T15:00:00 12688 69700 UTAH Çığ ...

Aşağıdaki örnek max() işlevini kullanarak her durumda en son ne zaman bir doğrudan ölüm olayı gerçekleştiğini bulur, ancak yalnızca StartTime'ın en yüksek değerini döndürür.

StormEvents
| where DeathsDirect > 0
| summarize max(StartTime)

Sonuçlar tablosu, bu kayıt için diğer sütunları döndürmeden StartTime değerinin üst sınırını döndürür.

max_StartTime
2007-12-31T15:00:00Z