özetleme işleci

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

Giriş tablosunun içeriğini toplayan bir tablo oluşturur.

Syntax

T| summarize [ SummarizeParameters ] [[Sütun=] Toplama [, ...]] [by [Sütun=] GroupExpression [, ...]]

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

Parameters

Name Type Required Description
Column string Sonuç sütununun adı. varsayılan olarak ifadeden türetilen bir addır.
Aggregation string ✔️ sütun adlarını bağımsız değişken olarak içeren veya gibi count()avg() yapılan çağrı.
GroupExpression scalar ✔️ Giriş verilerine başvurabilen skaler ifade. Çıktıda, tüm grup ifadelerinin ayrı değerleri olduğu kadar çok kayıt vardır.
SummarizeParameters string Davranışı denetleen Ad=Değeri biçiminde sıfır veya daha fazla boşlukla ayrılmış parametre. Desteklenen parametrelere bakın.

Note

Giriş tablosu boş olduğunda, çıkış GroupExpression'ın kullanılıp kullanılmadığına bağlıdır:

  • GroupExpression sağlanmazsa, çıkış tek bir (boş) satırdır.
  • GroupExpression sağlanmışsa çıktıda satır yoktur.

Desteklenen parametreler

Name Description
hint.num_partitions Küme düğümlerinde sorgu yükünü paylaşmak için kullanılan bölüm sayısını belirtir. Bkz. karıştırma sorgusu
hint.shufflekey=<key> Sorgu, shufflekey verileri bölümleme anahtarı kullanarak küme düğümlerinde sorgu yükünü paylaşır. Bkz. karıştırma sorgusu
hint.strategy=shuffle Strateji shuffle sorgusu, her düğümün verilerin bir bölümünü işlediği küme düğümlerinde sorgu yükünü paylaşır. Bkz. karıştırma sorgusu

Returns

Giriş satırları, ifadelerin aynı değerlerine by sahip gruplar halinde düzenlenir. Ardından, belirtilen toplama işlevleri her grup üzerinde hesaplanır ve her grup için bir satır oluşturulur. Sonuç, her hesaplanan toplama için sütunları ve en az bir sütunu içerir by . (Bazı toplama işlevleri birden çok sütun döndürür.)

Sonuç, farklı değer bileşimleri by (sıfır olabilir) kadar çok satıra sahiptir. Sağlanan grup anahtarı yoksa, sonucun tek bir kaydı olur.

Sayısal değer aralıklarını özetlemek için, aralıkları ayrık değerlere küçültmek için kullanın bin() .

Note

  • Hem toplama hem de gruplandırma ifadeleri için rastgele ifadeler sağlayabilmenize rağmen, basit sütun adlarını kullanmak veya sayısal bir sütuna uygulamak bin() daha verimlidir.
  • Datetime sütunları için otomatik saatlik bölmeler artık desteklenmiyor. Bunun yerine açık gruplama kullanın. Örneğin, summarize by bin(timestamp, 1h).

Toplamaların varsayılan değerleri

Aşağıdaki tabloda toplamaların varsayılan değerleri özetlemektedir:

Operator Varsayılan değer
count(), countif(), , dcount(), dcountif(), count_distinct(), sum(), , sumif()variance(), varianceif(), stdev(),stdevif() 0
make_bag(), make_bag_if(), make_list(), , make_list_if(), make_set(), make_set_if() boş dinamik dizi ([])
Diğerleri null

Note

Bu toplamalar null değerler içeren varlıklara uygulanırken, null değerler yoksayılır ve hesaplamaya dahil edilmez. bkz. Örnekler.

Examples

Bu makaledeki örneklerde, Örnekleri veritabanındaki StormEvents tablosu gibi yardım kümesiiçindeki genel kullanıma açık tablolar kullanılır.

Bu makaledeki örneklerde, Hava Durumu analizi Weather tablo gibi genel kullanıma açık tablolar kullanılır. Örnek sorgudaki tablo adını çalışma alanınızdaki tabloyla eşleşecek şekilde değiştirmeniz gerekebilir.

Aşağıdaki örnek, doğrudan yaralanmaya StateEventType neden olan fırtınalar için ve benzersiz bileşimlerini belirler. Toplama işlevi yoktur, yalnızca gruplandırma ölçütü tuşları vardır. Çıkışta yalnızca bu sonuçların sütunları görüntülenir.

StormEvents
| where InjuriesDirect > 0
| summarize by State, EventType

Output

Aşağıdaki tabloda yalnızca ilk 5 satır gösterilmektedir. Çıkışın tamamını görmek için sorguyu çalıştırın.

State EventType
TEXAS Gök Gürültülü Fırtına
TEXAS Ani Sel
TEXAS Kış Hava Durumu
TEXAS Yüksek Rüzgar
TEXAS Flood
... ...

Aşağıdaki örnek, Hawaii'deki en düşük ve en yüksek şiddetli yağmur fırtınalarını bulur. Group-by yan tümcesi olmadığından çıktıda yalnızca bir satır vardır.

StormEvents
| where State == "HAWAII" and EventType == "Heavy Rain"
| project Duration = EndTime - StartTime
| summarize Min = min(Duration), Max = max(Duration)

Output

Min Max
01:08:00 11:55:00

Aşağıdaki örnek, her durum için benzersiz fırtına olay türlerinin sayısını hesaplar ve sonuçları benzersiz fırtına türlerinin sayısına göre sıralar:

StormEvents
| summarize TypesOfStorms=dcount(EventType) by State
| sort by TypesOfStorms

Output

Aşağıdaki tabloda yalnızca ilk 5 satır gösterilmektedir. Çıkışın tamamını görmek için sorguyu çalıştırın.

State TypesOfStorms
TEXAS 27
CALIFORNIA 26
PENNSYLVANIA 25
GEORGIA 24
ILLINOIS 23
... ...

Aşağıdaki örnek, 1 günden uzun süren fırtınalara sahip bir histogram fırtına olayı türünü hesaplar. Birçok değeri olduğundan Duration , değerlerini 1 günlük aralıklar halinde gruplandırmak için kullanın bin() .

StormEvents
| project EventType, Duration = EndTime - StartTime
| where Duration > 1d
| summarize EventCount=count() by EventType, Length=bin(Duration, 1d)
| sort by Length

Output

EventType Length EventCount
Drought 30.00:00:00 1646
Wildfire 30.00:00:00 11
Heat 30.00:00:00 14
Flood 30.00:00:00 20
Şiddetli Yağmur 29.00:00:00 42
... ... ...

Aşağıdaki örnekte, giriş tablosu boş olduğunda toplamaların varsayılan değerleri gösterilmektedir. işleci summarize , toplamların varsayılan değerlerini hesaplamak için kullanılır. işlecinin girişinde summarize en az bir boş group-by anahtarı olduğunda, sonucu da boş olur.

işlecinin summarize girişi boş bir gruplandırma ölçütü anahtarına sahip olmadığında sonuç, toplamaların summarize varsayılan değerleridir. Daha fazla bilgi için bkz . Toplamaların varsayılan değerleri.

datatable(x:long)[]
| summarize any_x=take_any(x), arg_max_x=arg_max(x, *), arg_min_x=arg_min(x, *), avg(x), buildschema(todynamic(tostring(x))), max(x), min(x), percentile(x, 55), hll(x) ,stdev(x), sum(x), sumif(x, x > 0), tdigest(x), variance(x)

Output

any_x arg_max_x arg_min_x avg_x schema_x max_x min_x percentile_x_55 hll_x stdev_x sum_x sumif_x tdigest_x variance_x
NaN 0 0 0 0

sonucunun avg_x(x) 0'a bölünmesi sonucudur NaN .

datatable(x:long)[]
| summarize  count(x), countif(x > 0) , dcount(x), dcountif(x, x > 0)

Output

count_x countif_ dcount_x dcountif_x
0 0 0 0
datatable(x:long)[]
| summarize  make_set(x), make_list(x)

Output

set_x list_x
[] []

Ortalama toplam yalnızca null olmayan değerleri toplar ve hesaplamasında yalnızca bu değerleri sayar ve null değerleri yok sayar.

range x from 1 to 4 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize sum(y), avg(y)

Output

sum_y avg_y
15 5

Standart count işlevi, sayısı içinde null değerler içerir:

range x from 1 to 2 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize count(y)

Output

count_y
2
range x from 1 to 2 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize make_set(y), make_set(y)

Output

set_y set_y1
[5.0] [5.0]