operator samenvatten
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel-
Produceert een tabel waarmee de inhoud van de invoertabel wordt samengevoegd.
Syntaxis
T| summarize
[ SummarizeParameters ] [[Column=
] Aggregation [,
...]] [by
[Column=
] GroupExpression [,
...]]
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
kolom | string |
De naam voor de resultaatkolom. Standaard ingesteld op een naam die is afgeleid van de expressie. | |
Aggregatie- | string |
✔️ | Een aanroep van een aggregatiefunctie zoals count() of avg() , met kolomnamen als argumenten. |
GroupExpression | scalar | ✔️ | Een scalaire expressie die naar de invoergegevens kan verwijzen. De uitvoer heeft zo veel records als er afzonderlijke waarden van alle groepsexpressies zijn. |
SummarizeParameters- | string |
Nul of meer door spaties gescheiden parameters in de vorm van Naam= Waarde die het gedrag bepalen. Zie ondersteunde parameters. |
Notitie
Wanneer de invoertabel leeg is, is de uitvoer afhankelijk van of GroupExpression wordt gebruikt:
- Als GroupExpression niet is opgegeven, is de uitvoer één (lege) rij.
- Als GroupExpression is opgegeven, heeft de uitvoer geen rijen.
Ondersteunde parameters
Naam | Beschrijving |
---|---|
hint.num_partitions |
Hiermee geeft u het aantal partities op dat wordt gebruikt om de querybelasting op clusterknooppunten te delen. Zie query's in willekeurige volgorde |
hint.shufflekey=<key> |
De shufflekey query deelt de querybelasting op clusterknooppunten met behulp van een sleutel om gegevens te partitioneren. Zie query's in willekeurige volgorde |
hint.strategy=shuffle |
De shuffle strategiequery deelt de querybelasting op clusterknooppunten, waarbij elk knooppunt één partitie van de gegevens verwerkt. Zie query's in willekeurige volgorde |
Retourneert
De invoerrijen worden gerangschikt in groepen met dezelfde waarden van de by
expressies. Vervolgens worden de opgegeven aggregatiefuncties berekend over elke groep, waardoor er een rij voor elke groep wordt geproduceerd. Het resultaat bevat de by
kolommen en ook ten minste één kolom voor elke berekende statistische functie. (Sommige aggregatiefuncties retourneren meerdere kolommen.)
Het resultaat heeft zoveel rijen als er verschillende combinaties van by
waarden zijn (die mogelijk nul zijn). Als er geen groepssleutels zijn opgegeven, heeft het resultaat één record.
Gebruik bin()
om een overzicht te maken van meerdere bereiken met numerieke waarden om bereiken te beperken tot discrete waarden.
Notitie
- Hoewel u willekeurige expressies kunt opgeven voor zowel de aggregatie- als groeperingsexpressies, is het efficiënter om eenvoudige kolomnamen te gebruiken of
bin()
toe te passen op een numerieke kolom. - De automatische opslaglocaties per uur voor datum/tijd-kolommen worden niet meer ondersteund. Gebruik in plaats daarvan expliciet binning. Bijvoorbeeld
summarize by bin(timestamp, 1h)
.
Standaardwaarden van aggregaties
De volgende tabel bevat een overzicht van de standaardwaarden van aggregaties:
Bediener | Standaardwaarde |
---|---|
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() |
lege dynamische matrix ([]) |
Alle anderen | nul |
Notitie
Wanneer u deze aggregaties toepast op entiteiten die null-waarden bevatten, worden de null-waarden genegeerd en worden ze niet meegenomen in de berekening. Zie Standaardwaarden aggregerenvoor voorbeelden.
Voorbeelden
In het voorbeeld in deze sectie ziet u hoe u de syntaxis gebruikt om aan de slag te gaan.
In de voorbeelden in dit artikel worden openbaar beschikbare tabellen gebruikt in de Help-cluster, zoals de
StormEvents
tabel in de Voorbeelden database.
In de voorbeelden in dit artikel worden openbaar beschikbare tabellen gebruikt, zoals de tabel
StormEvents
in de weather analytics voorbeeldgegevens.
Unieke combinatie
De volgende query bepaalt welke unieke combinaties van State
en EventType
er zijn voor stormen die tot directe schade hebben geleid. Er zijn geen aggregatiefuncties, alleen groeperen op sleutels. In de uitvoer worden alleen de kolommen voor deze resultaten weergegeven.
StormEvents
| where InjuriesDirect > 0
| summarize by State, EventType
uitvoer
In de volgende tabel worden alleen de eerste vijf rijen weergegeven. Als u de volledige uitvoer wilt zien, voert u de query uit.
Staat | EventType |
---|---|
TEXAS | Onweer wind |
TEXAS | Stortvloed |
TEXAS | Winterweer |
TEXAS | Hoge wind |
TEXAS | Overstroming |
... | ... |
Minimum- en maximumtijdstempel
Vindt de minimale en maximale zware regenstormen in Hawaï. Er is geen group-by-component, dus er is slechts één rij in de uitvoer.
StormEvents
| where State == "HAWAII" and EventType == "Heavy Rain"
| project Duration = EndTime - StartTime
| summarize Min = min(Duration), Max = max(Duration)
uitvoer
Min | Max |
---|---|
01:08:00 | 11:55:00 |
Uniek aantal
Met de volgende query wordt het aantal unieke storm gebeurtenistypen voor elke status berekend en worden de resultaten gesorteerd op het aantal unieke stormtypen:
StormEvents
| summarize TypesOfStorms=dcount(EventType) by State
| sort by TypesOfStorms
uitvoer
In de volgende tabel worden alleen de eerste vijf rijen weergegeven. Als u de volledige uitvoer wilt zien, voert u de query uit.
Staat | TypesOfStorms |
---|---|
TEXAS | 27 |
CALIFORNIË | 26 |
PENNSYLVANIA | 25 |
GEORGIË | 24 |
ILLINOIS | 23 |
... | ... |
Histogram
In het volgende voorbeeld wordt een histogram met stormgebeurtenissen berekend die langer dan 1 dag stormen hadden. Omdat Duration
veel waarden heeft, gebruikt u bin()
om de waarden te groeperen in intervallen van 1 dag.
StormEvents
| project EventType, Duration = EndTime - StartTime
| where Duration > 1d
| summarize EventCount=count() by EventType, Length=bin(Duration, 1d)
| sort by Length
uitvoer
EventType | Lengte | EventCount |
---|---|---|
Droogte | 30.00:00:00 | 1646 |
Wildvuur | 30.00:00:00 | 11 |
Hitte | 30.00:00:00 | 14 |
Overstroming | 30.00:00:00 | 20 |
Zware regen | 29.00:00:00 | 42 |
... | ... | ... |
Standaardwaarden aggregeren
Wanneer de invoer van summarize
operator ten minste één lege group-by-sleutel heeft, is het resultaat ook leeg.
Wanneer de invoer van summarize
operator geen lege group-by-sleutel heeft, zijn de standaardwaarden van de aggregaties die worden gebruikt in de summarize
Zie Standaardwaarden van aggregatiesvoor meer informatie.
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)
uitvoer
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 |
Het resultaat van avg_x(x)
is NaN
vanwege het delen door 0.
datatable(x:long)[]
| summarize count(x), countif(x > 0) , dcount(x), dcountif(x, x > 0)
uitvoer
count_x | countif_ | dcount_x | dcountif_x |
---|---|---|---|
0 | 0 | 0 | 0 |
datatable(x:long)[]
| summarize make_set(x), make_list(x)
uitvoer
set_x | list_x |
---|---|
[] | [] |
Het geaggregeerde gemiddelde telt alle niet-null-waarden op en telt alleen de waarden die hebben deelgenomen aan de berekening (houdt geen rekening met nullen).
range x from 1 to 4 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize sum(y), avg(y)
uitvoer
sum_y | avg_y |
---|---|
15 | 5 |
Het reguliere aantal telt null-waarden:
range x from 1 to 2 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize count(y)
uitvoer
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)
uitvoer
set_y | set_y1 |
---|---|
[5.0] | [5.0] |