Aracılığıyla paylaş


summarize işleci

Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini Azure İzleyiciMicrosoft Sentinel

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

Sözdizimi

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

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

Parametreler

Ad Tür Zorunlu Açıklama
Sütun string Sonuç sütununun adı. varsayılan olarak ifadeden türetilen bir addır.
Toplama string ✔️ sütun adlarını bağımsız değişken olarak içeren veya avg()gibi count() bir toplama işlevine yapılan çağrı.
GroupExpression sayıl ✔️ Giriş verilerine başvurabilen skaler ifade. Çıktı, tüm grup ifadelerinin ayrı değerleri olduğu kadar çok kayda sahip olur.
SummarizeParameters string Davranışı denetleen Ad = Değeri biçiminde sıfır veya daha fazla boşlukla ayrılmış parametre. Desteklenen parametrelere bakın.

Not

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ır olur.
  • GroupExpression sağlanırsa çıktıda satır olmaz.

Desteklenen parametreler

Veri Akışı Adı Açıklama
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

Döndürülenler

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() .

Not

  • 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:

Operatör Default value
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 boş

Not

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

Örnekler

Meyve ve tedarikçiye göre fiyatı özetleyin.

Benzersiz birleşim

Aşağıdaki sorgu, doğrudan yaralanmayla sonuçlanan fırtınalar State EventType için ve benzersiz birleş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österilir.

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

Çıktı

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 Flash Flood
TEXAS Kış Hava Durumu
TEXAS Kuvvetli Rüzgar
TEXAS Sel
... ...

Minimum ve maksimum zaman damgası

Hawaii'de 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)

Çıktı

Minimum Max
01:08:00 11:55:00

Ayrı sayı

Aşağıdaki sorgu, 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

Çıktı

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
... ...

Histogram

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

Çıktı

EventType Length EventCount
Kuraklık 30.00:00:00 1646
Wildfire 30.00:00:00 11
Veri sıcaklığı 30.00:00:00 14
Sel 30.00:00:00 20
Şiddetli Yağmur 29.00:00:00 42
... ... ...

Varsayılan değerleri toplar

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)

Çıktı

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)

Çıktı

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

Çıktı

set_x list_x
[] []

Toplam ortalama, null olmayan tüm değerleri toplar ve yalnızca hesaplamaya katılanları sayar (null değerleri dikkate almaz).

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

Çıktı

sum_y avg_y
15 5

Normal sayı null değerleri sayar:

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

Çıktı

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)

Çıktı

set_y set_y1
[5.0] [5.0]