összegző operátor

Szolgáltatások váltása a Verzió legördülő listával. További információ a navigációról.
A következőkre vonatkozik: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Létrehoz egy táblát, amely összesíti a bemeneti tábla tartalmát.

Syntax

T| summarize [ SummarizeParameters ] [[Oszlop=] Összesítés [, ...]] [by [Oszlop=] GroupExpression [, ...]]

További információ szintaxiskonvenciákról.

Parameters

Name Típus Required Description
Column string Az eredményoszlop neve. A kifejezésből származtatott név alapértelmezett értéke.
Aggregation string ✔️ Egy olyan összesítő függvény meghívása, amely count()avg()argumentumként oszlopneveket tartalmaz.
GroupExpression scalar ✔️ Skaláris kifejezés, amely hivatkozhat a bemeneti adatokra. A kimenet annyi rekordot tartalmaz, mint az összes csoportkifejezés különböző értékei.
SummarizeParameters string Nulla vagy több térelválasztó paraméter névérték= formájában, amely a viselkedést vezérli. Lásd a támogatott paramétereket.

Note

Ha a bemeneti tábla üres, a kimenet attól függ, hogy a GroupExpressiont használja-e:

  • Ha a GroupExpression nincs megadva, a kimenet egyetlen (üres) sor.
  • Ha a GroupExpression meg van adva, a kimenetnek nincsenek sorai.

Támogatott paraméterek

Name Description
hint.num_partitions Megadja a fürtcsomópontok lekérdezési terhelésének megosztásához használt partíciók számát. Shuffle-lekérdezés megtekintése
hint.shufflekey=<key> A shufflekey lekérdezés megosztja a fürtcsomópontok lekérdezési terhelését egy kulcs használatával az adatok particionálásához. Shuffle-lekérdezés megtekintése
hint.strategy=shuffle A shuffle stratégiai lekérdezés megosztja a fürtcsomópontok lekérdezési terhelését, ahol minden csomópont feldolgozza az adatok egy partícióját. Shuffle-lekérdezés megtekintése

Returns

A bemeneti sorok olyan csoportokba vannak rendezve, amelyek a by kifejezések azonos értékeit képezik. Ezután a megadott összesítési függvények minden csoportra ki vannak számítva, és minden csoporthoz egy sort állítanak elő. Az eredmény tartalmazza a by oszlopokat, valamint minden számított összesítéshez legalább egy oszlopot. (Egyes összesítési függvények több oszlopot ad vissza.)

Az eredmény annyi sort tartalmaz, amennyi különböző értékkombinációval by rendelkezik (ami lehet nulla). Ha nincsenek megadva csoportkulcsok, az eredmény egyetlen rekordot eredményez.

A számértékek tartományainak összegzéséhez használja a bin() a tartományokat a különálló értékekre.

Note

  • Bár tetszőleges kifejezéseket is megadhat az összesítő és a csoportosítási kifejezésekhez, hatékonyabb az egyszerű oszlopnevek használata, vagy bin() alkalmazása numerikus oszlopokra.
  • A datetime oszlopok automatikus óránkénti tárolói már nem támogatottak. Használjon explicit binninget. Például summarize by bin(timestamp, 1h).

Az összesítések alapértelmezett értékei

Az alábbi táblázat az összesítések alapértelmezett értékeit foglalja össze:

Operator Alapértelmezett érték
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() üres dinamikus tömb ([])
Minden más null

Note

Ha ezeket az aggregátumokat null értékeket tartalmazó entitásokra alkalmazza, a null értékek figyelmen kívül lesznek hagyva, és nem számítanak bele a számításba. Lásd példákat.

Examples

A cikkben szereplő példák nyilvánosan elérhető táblákat használnak a súgófürtben, például a StormEventsMintaadatbázis tábláját.

A cikkben szereplő példák nyilvánosan elérhető táblákat használnak, például a Weather Weather Analytics mintagyűjteményében található táblázatot. Előfordulhat, hogy módosítania kell a tábla nevét a példa lekérdezésben, hogy megfeleljen a munkaterület táblájának.

Az alábbi példa azt határozza meg, hogy milyen egyedi kombinációk StateEventType és vannak olyan viharok, amelyek közvetlen sérülést eredményeztek. Nincsenek összesítési függvények, csak csoportonkénti kulcsok. A kimenet csak az eredmények oszlopait jeleníti meg.

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

Output

Az alábbi táblázat csak az első 5 sort jeleníti meg. A teljes kimenet megtekintéséhez futtassa a lekérdezést.

State EventType
TEXAS Zivatar szél
TEXAS Villámárvizek
TEXAS Téli időjárás
TEXAS Nagy szél
TEXAS Flood
... ...

Az alábbi példában a hawaii esőzések minimális és maximális száma található meg. Nincs csoportosítási záradék, ezért csak egy sor van a kimenetben.

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

Az alábbi példa kiszámítja az egyes állapotok egyedi viharesemény-típusainak számát, és az eredményeket az egyedi vihartípusok száma alapján rendezi:

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

Output

Az alábbi táblázat csak az első 5 sort jeleníti meg. A teljes kimenet megtekintéséhez futtassa a lekérdezést.

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

Az alábbi példa egy hisztogramos viharesemény-típust számít ki, amely 1 napnál hosszabb ideig tartó viharokkal rendelkezett. Mivel Duration számos értékkel rendelkezik, az bin() használatával csoportosíthatja az értékeit 1 napos intervallumokba.

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
Nagy eső 29.00:00:00 42
... ... ...

Az alábbi példa az aggregátumok alapértelmezett értékeit mutatja be, ha a bemeneti tábla üres. Az summarize operátor az összesítések alapértelmezett értékeinek kiszámítására szolgál. Ha az summarize operátor bemenete legalább egy üres csoportonkénti kulccsal rendelkezik, az eredmény is üres.

Ha summarize operátor bemenete nem tartalmaz üres csoportosítási kulcsot, az eredmény az summarize használt összesítések alapértelmezett értékei. További információt Az összesítések alapértelmezett értékei.

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

A avg_x(x) eredménye 0-ra való osztás miatt 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
[] []

Az avg aggregátum csak a nem null értékeket összegzi, és csak azokat az értékeket számolja meg a számításban, figyelmen kívül hagyva a null értékeket.

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

A standard darabszám függvény null értékeket tartalmaz a számában:

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]