summarize operátorsummarize operator

Létrehoz egy táblázatot, amely összesíti a bemeneti tábla tartalmát.Produces a table that aggregates the content of the input table.

Sales | summarize NumTransactions=count(), Total=sum(UnitPrice * NumUnits) by Fruit, StartOfMonth=startofmonth(SellDateTime)

Egy táblázatot ad vissza, amely az értékesítési tranzakciók mennyiségét, valamint a gyümölcs és a hónap összegét mutatja.Returns a table with how many sell transactions and the total amount per fruit and sell month. A kimeneti oszlopok a tranzakciók számát, a tranzakció értékét, a gyümölcsöt, valamint a tranzakció rögzítésének hónapjának dátum-és időpontját jelenítik meg.The output columns show the count of transactions, transaction worth, fruit, and the datetime of the beginning of the month in which the transaction was recorded.

T | summarize count() by price_range=bin(price, 10.0)

Egy tábla, amely azt mutatja, hogy hány elemnek van árai az egyes intervallumokban [0, 10.0], [10.0, 20.0] stb.A table that shows how many items have prices in each interval [0,10.0], [10.0,20.0], and so on. Ehhez a példához tartozik egy oszlop a darabszámhoz, egy pedig az árlistát.This example has a column for the count and one for the price range. Az összes többi bemeneti oszlop figyelmen kívül lesz hagyva.All other input columns are ignored.

SyntaxSyntax

T | summarize [[oszlop = ] Összesítés [ , ...]] [ by [oszlop = ] GroupExpression [ , ...]]T | summarize [[Column =] Aggregation [, ...]] [by [Column =] GroupExpression [, ...]]

ArgumentumokArguments

  • Oszlop: Az eredmény oszlop neve nem kötelező.Column: Optional name for a result column. Az alapértelmezett érték a kifejezésből származtatott név.Defaults to a name derived from the expression.
  • Összesítés: Az aggregációs függvények (például a vagy) hívása count() avg() argumentumként, az oszlopok neveivel.Aggregation: A call to an aggregation function such as count() or avg(), with column names as arguments. Tekintse meg az összesítési függvények listáját.See the list of aggregation functions.
  • GroupExpression: Egy skaláris kifejezés, amely hivatkozhat a bemeneti adatokra.GroupExpression: A scalar expression that can reference the input data. A kimenet annyi rekorddal fog rendelkezni, ahogy az összes csoportosítási kifejezés különböző értékeket tartalmaz.The output will have as many records as there are distinct values of all the group expressions.

Megjegyzés

Ha a bemeneti tábla üres, a kimenet attól függ, hogy a GroupExpression használja-e:When the input table is empty, the output depends on whether GroupExpression is used:

  • Ha a GroupExpression nincs megadva, a kimenet egyetlen (üres) sort fog tartalmazni.If GroupExpression is not provided, the output will be a single (empty) row.
  • Ha a GroupExpression meg van adni, a kimenetben nem lesznek sorok.If GroupExpression is provided, the output will have no rows.

Visszaadott értékReturns

A bemeneti sorok a kifejezésekkel megegyező értékeket tartalmazó csoportokba vannak rendezve by .The input rows are arranged into groups having the same values of the by expressions. Ezután a megadott összesítési függvények minden csoportra kiszámításra kerülnek, és minden csoport számára létrehozunk egy sort.Then the specified aggregation functions are computed over each group, producing a row for each group. Az eredmény tartalmazza az by oszlopokat és az egyes számított összesítések legalább egy oszlopát.The result contains the by columns and also at least one column for each computed aggregate. (Egyes aggregációs függvények több oszlopot adnak vissza.)(Some aggregation functions return multiple columns.)

Az eredmény annyi sorral rendelkezik, mint az értékek különböző kombinációi by (ami lehet nulla).The result has as many rows as there are distinct combinations of by values (which may be zero). Ha nincsenek megadva a csoport kulcsai, az eredménynek egyetlen rekordja van.If there are no group keys provided, the result has a single record.

A numerikus értékek tartományán való összesítéshez használja bin() a tartományt a különálló értékekre való csökkentéshez.To summarize over ranges of numeric values, use bin() to reduce ranges to discrete values.

Megjegyzés

  • Bár az összesítési és csoportosítási kifejezésekhez tetszőleges kifejezés is biztosítható, az egyszerű oszlopnevek használata hatékonyabb, vagy bin() numerikus oszlopra is alkalmazható.Although you can provide arbitrary expressions for both the aggregation and grouping expressions, it's more efficient to use simple column names, or apply bin() to a numeric column.
  • A DateTime oszlopokhoz tartozó automatikus óránkénti raktárhelyek már nem támogatottak.The automatic hourly bins for datetime columns is no longer supported. Ehelyett használjon explicit dobozolási.Use explicit binning instead. Például: summarize by bin(timestamp, 1h).For example, summarize by bin(timestamp, 1h).

Összesítési függvények listájaList of aggregation functions

FüggvényFunction LeírásDescription
any()any() A csoport véletlenszerű, nem üres értékét adja vissza.Returns a random non-empty value for the group
anyif()anyif() Egy véletlenszerű, nem üres értéket ad vissza a csoport számára (predikátummal)Returns a random non-empty value for the group (with predicate)
arg_max()arg_max() Egy vagy több kifejezést ad vissza, ha az argumentum teljes méretűReturns one or more expressions when the argument is maximized
arg_min()arg_min() Egy vagy több kifejezést ad vissza, ha az argumentum kisméretű.Returns one or more expressions when the argument is minimized
AVG ()avg() Egy átlagos értéket ad vissza a csoporton belülReturns an average value across the group
avgif()avgif() Egy átlagos értéket ad vissza a csoporton belül (predikátummal).Returns an average value across the group (with predicate)
binary_all_andbinary_all_and Összesített értéket ad vissza a csoport bináris fájljának használatával. ANDReturns aggregated value using the binary AND of the group
binary_all_orbinary_all_or Összesített értéket ad vissza a csoport bináris fájljának használatával. ORReturns aggregated value using the binary OR of the group
binary_all_xorbinary_all_xor Összesített értéket ad vissza a csoport bináris fájljának használatával. XORReturns aggregated value using the binary XOR of the group
buildschema()buildschema() A bemenet összes értékét ismerő minimális sémát adja vissza. dynamicReturns the minimal schema that admits all values of the dynamic input
Darabszám ()count() A csoport számát adja vissza.Returns a count of the group
countif()countif() A csoport predikátumával rendelkező darabszámot ad vissza.Returns a count with the predicate of the group
dcount()dcount() A csoport elemeinek hozzávetőleges eltérő számát adja vissza.Returns an approximate distinct count of the group elements
dcountif()dcountif() A csoport elemeinek hozzávetőleges eltérő számát adja vissza (predikátummal).Returns an approximate distinct count of the group elements (with predicate)
make_bag()make_bag() A csoporton belüli dinamikus értékeket tartalmazó tulajdonságot ad vissza.Returns a property bag of dynamic values within the group
make_bag_if()make_bag_if() A csoporton belüli dinamikus értékeket tartalmazó (predikátummal rendelkező) tulajdonságot adja vissza.Returns a property bag of dynamic values within the group (with predicate)
make_list()make_list() A csoporton belüli összes érték listáját adja vissza.Returns a list of all the values within the group
make_list_if()make_list_if() A csoportban lévő összes érték listáját adja vissza (predikátummal).Returns a list of all the values within the group (with predicate)
make_list_with_nulls()make_list_with_nulls() A csoportban lévő összes érték listájának beolvasása, beleértve a null értékeket isReturns a list of all the values within the group, including null values
make_set()make_set() A csoportban lévő különböző értékek készletét adja vissza.Returns a set of distinct values within the group
make_set_if()make_set_if() A csoportban lévő különböző értékek készletét adja vissza (predikátummal).Returns a set of distinct values within the group (with predicate)
Max ()max() A csoporton belüli maximális értéket adja vissza.Returns the maximum value across the group
maxif()maxif() A csoporton belüli maximális értéket adja vissza (predikátummal).Returns the maximum value across the group (with predicate)
min ()min() A csoporton belüli minimális értéket adja vissza.Returns the minimum value across the group
minif()minif() A csoporton belüli minimális értéket adja vissza (predikátummal).Returns the minimum value across the group (with predicate)
percentilis ()percentiles() A csoport százalékos értékének hozzávetőleges értékét adja vissza.Returns the percentile approximate of the group
percentiles_array ()percentiles_array() A csoport százalékos értékének hozzávetőleges értékét adja vissza.Returns the percentiles approximates of the group
percentilesw()percentilesw() A csoport súlyozott százalékos értékének becsült értékét adja vissza.Returns the weighted percentile approximate of the group
percentilesw_array ()percentilesw_array() A csoport súlyozott százalékos arányát adja vissza.Returns the weighted percentiles approximates of the group
stdev()stdev() A csoport teljes szórását adja vissza.Returns the standard deviation across the group
stdevif()stdevif() A csoporton belüli szórást adja vissza (predikátummal).Returns the standard deviation across the group (with predicate)
Sum ()sum() A csoportban található elemek összegét adja vissza.Returns the sum of the elements within the group
sumif()sumif() A csoportban található elemek összegét adja vissza (predikátummal).Returns the sum of the elements within the group (with predicate)
variancia ()variance() A csoport közötti eltérést adja vissza.Returns the variance across the group
varianceif()varianceif() A csoporton belüli eltérést adja vissza (predikátummal).Returns the variance across the group (with predicate)

Összesítések alapértelmezett értékeiAggregates default values

A következő táblázat összefoglalja az összesítések alapértelmezett értékeit:The following table summarizes the default values of aggregations:

OperátorOperator Alapértelmezett értékDefault value
count(), countif(), dcount(), dcountif()count(), countif(), dcount(), dcountif() 00
make_bag(), make_bag_if(), make_list(), make_list_if(), make_set(), make_set_if()make_bag(), make_bag_if(), make_list(), make_list_if(), make_set(), make_set_if() üres dinamikus tömb ([])empty dynamic array ([])
Minden másAll others nullnull

Ha ezeket az összesítéseket a null értékeket tartalmazó entitásokra használja, a rendszer figyelmen kívül hagyja a null értékeket, és nem vesz részt a számításban (lásd az alábbi példákat).When using these aggregates over entities which includes null values, the null values will be ignored and won't participate in the calculation (see examples below).

PéldákExamples

Árak összefoglalása gyümölcs és szállító szerint

Példa: egyedi kombinációExample: Unique combination

Határozza meg, hogy a és a tábla mely egyedi kombinációi vannak ActivityType CompletionStatus .Determine what unique combinations of ActivityType and CompletionStatus there are in a table. Nincsenek aggregációs függvények, csak csoportosítási kulcsok.There are no aggregation functions, just group-by keys. A kimenet csak az eredmények oszlopait jeleníti meg:The output will just show the columns for those results:

Activities | summarize by ActivityType, completionStatus
ActivityType completionStatus
dancing started
singing started
dancing abandoned
singing completed

Példa: minimális és maximális időbélyegExample: Minimum and maximum timestamp

Megkeresi a tevékenységek tábla összes rekordjának minimális és maximális időbélyegét.Finds the minimum and maximum timestamp of all records in the Activities table. Nincs Group-By záradék, ezért csak egy sor van a kimenetben:There is no group-by clause, so there is just one row in the output:

Activities | summarize Min = min(Timestamp), Max = max(Timestamp)
Min Max
1975-06-09 09:21:45 2015-12-24 23:45:00

Példa: eltérő darabszámExample: Distinct count

Hozzon létre egy sort az egyes földrészekhez, és jelenítse meg azon városok számát, amelyekben tevékenységek történnek.Create a row for each continent, showing a count of the cities in which activities occur. Mivel a "kontinens" számára néhány érték van, nincs szükség csoportosítási függvényre a "by" záradékban:Because there are few values for "continent", no grouping function is needed in the 'by' clause:

Activities | summarize cities=dcount(city) by continent
cities continent
4290 Asia
3267 Europe
2673 North America

Példa: hisztogramExample: Histogram

Az alábbi példa kiszámítja az egyes tevékenységtípusok hisztogramját.The following example calculates a histogram for each activity type. Mivel a Duration több értékkel rendelkezik, az bin értékek csoportosítása 10 perces időközönként történik:Because Duration has many values, use bin to group its values into 10-minute intervals:

Activities | summarize count() by ActivityType, length=bin(Duration, 10m)
count_ ActivityType length
354 dancing 0:00:00.000
23 singing 0:00:00.000
2717 dancing 0:10:00.000
341 singing 0:10:00.000
725 dancing 0:20:00.000
2876 singing 0:20:00.000
......

Példa az összesített alapértelmezett értékekreExample for the aggregates default values

Ha a kezelő bemenete summarize legalább egy üres csoporttal rendelkezik, az eredmény üres is.When the input of summarize operator has at least one empty group-by key, it's result is empty, too.

Ha az operátor bemenete summarize nem rendelkezik üres csoportosítási kulccsal, az eredmény a (z) által használt összesítések alapértelmezett értékei summarize :When the input of summarize operator doesn't have an empty group-by key, the result is the default values of the aggregates used in the summarize:

datatable(x:long)[]
| summarize any(x), arg_max(x, x), arg_min(x, 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)
any_xany_x max_xmax_x max_x_xmax_x_x min_xmin_x min_x_xmin_x_x avg_xavg_x schema_xschema_x max_x1max_x1 min_x1min_x1 percentile_x_55percentile_x_55 hll_xhll_x stdev_xstdev_x sum_xsum_x sumif_xsumif_x tdigest_xtdigest_x variance_xvariance_x
datatable(x:long)[]
| summarize  count(x), countif(x > 0) , dcount(x), dcountif(x, x > 0)
count_xcount_x countif_countif_ dcount_xdcount_x dcountif_xdcountif_x
00 00 00 00
datatable(x:long)[]
| summarize  make_set(x), make_list(x)
set_xset_x list_xlist_x
[][] [][]

Az aggregált AVG az összes nem null értéket összegzi, és csak azokat számítja fel, amelyek a számításban részt vettek (nem veszi nullát a fiókba).The aggregate avg sums all the non-nulls and counts only those which participated in the calculation (will not take nulls into account).

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

A normál darabszám null értéket ad meg:The regular count will count nulls:

range x from 1 to 2 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize count(y)
count_ycount_y
22
range x from 1 to 2 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize make_set(y), make_set(y)
set_yset_y set_y1set_y1
[5,0][5.0] [5,0][5.0]