[comment]: # attributes: notoc

[comment]: # ({595b72b9-ee60e21e})
# 1 Aggregaatfuncties

Tenzij anders vermeld, worden alle hier vermelde functies ondersteund in:

- [Trigger-expressies](/manual/config/triggers/expression)
- [Berekende items](/manual/config/items/itemtypes/calculated)

Aggregaatfuncties kunnen werken met:

- Geschiedenis van items, bijvoorbeeld `min(/host/key,1h)`
- [foreach-functies](/manual/appendix/functions/aggregate/foreach) als enige parameter, bijvoorbeeld `min(last_foreach(/*/key))` (alleen in berekende items; kan niet worden gebruikt in triggers)

De functies worden vermeld zonder aanvullende informatie. Klik op de functie om de volledige details te zien.

|Functie|Beschrijving|
|--|--------|
|[avg](#avg)|Het gemiddelde van een item binnen de gedefinieerde evaluatieperiode.|
|[bucket_percentile](#bucket-percentile)|Berekent het percentiel van de buckets van een histogram.|
|[count](#count)|Het aantal waarden in een array die wordt geretourneerd door een foreach-functie.|
|[histogram_quantile](#histogram-quantile)|Berekent het φ-percentiel van de buckets van een histogram.|
|[item_count](#item-count)|Het aantal bestaande items in de configuratie die aan de filtercriteria voldoen.|
|[kurtosis](#kurtosis)|De "staartigheid" van de kansverdeling in verzamelde waarden binnen de gedefinieerde evaluatieperiode.|
|[mad](#mad)|De mediaan absolute afwijking in verzamelde waarden binnen de gedefinieerde evaluatieperiode.|
|[max](#max)|De hoogste waarde van een item binnen de gedefinieerde evaluatieperiode.|
|[min](#min)|De laagste waarde van een item binnen de gedefinieerde evaluatieperiode.|
|[skewness](#skewness)|De asymmetrie van de kansverdeling in verzamelde waarden binnen de gedefinieerde evaluatieperiode.|
|[stddevpop](#stddevpop)|De populatiestandaarddeviatie in verzamelde waarden binnen de gedefinieerde evaluatieperiode.|
|[stddevsamp](#stddevsamp)|De steekproefstandaarddeviatie in verzamelde waarden binnen de gedefinieerde evaluatieperiode.|
|[sum](#sum)|De som van verzamelde waarden binnen de gedefinieerde evaluatieperiode.|
|[sumofsquares](#sumofsquares)|De som van kwadraten in verzamelde waarden binnen de gedefinieerde evaluatieperiode.|
|[varpop](#varpop)|De populatievariantie van verzamelde waarden binnen de gedefinieerde evaluatieperiode.|
|[varsamp](#varsamp)|De steekproefvariantie van verzamelde waarden binnen de gedefinieerde evaluatieperiode.|

[comment]: # ({/595b72b9-ee60e21e})

[comment]: # ({c2252736-4d343eb8})
#### Gemeenschappelijke parameters

-   `/host/key` is een veelvoorkomende verplichte eerste parameter voor de functies die verwijzen naar de geschiedenis van het host-item
-   `(sec|#num)<:tijdsverschuiving>` is een veelvoorkomende tweede parameter voor de functies die verwijzen naar de geschiedenis van het host-item, waarbij:
    -   **sec** - maximale [evaluatieperiode](/manual/config/triggers#evaluation_period) in seconden (tijds [suffixen](/manual/appendix/suffixes) kunnen worden gebruikt), of
    -   **\#num** - maximale [evaluatiebereik](/manual/config/triggers#evaluation_period) in nieuwste verzamelde waarden (indien voorafgegaan door een hekje)
    -   **tijdsverschuiving** (optioneel) maakt het mogelijk om het evaluatiepunt terug in de tijd te verplaatsen. Zie [meer details](/manual/config/triggers/expression#time_shift) over het specificeren van tijdsverschuiving.

[comment]: # ({/c2252736-4d343eb8})

[comment]: # ({c645f0e4-5df8f297})
### Functiedetails

Enkele algemene opmerkingen over functieparameters:

-   Functieparameters zijn gescheiden door een komma
-   Optionele functieparameters (of parameterdelen) worden aangegeven met `<` `>`
-   Functie-specifieke parameters worden bij elke functie beschreven
-   De parameters `/host/key` en `(sec|#num)<:tijdsverschuiving>` mogen nooit tussen aanhalingstekens worden geplaatst

[comment]: # ({/c645f0e4-5df8f297})

[comment]: # ({4d97f370-d4b981e4})
##### avg(/host/key,(sec|#num)<:time shift>) {#avg}

Het gemiddelde van een item binnen de gedefinieerde evaluatieperiode.<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functies](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Tijdsverschuiving is handig wanneer het nodig is om de huidige gemiddelde waarde te vergelijken met de gemiddelde waarde van enige tijd geleden.

Voorbeelden:

    avg(/host/key,1u) #de gemiddelde waarde van het afgelopen uur tot nu toe
    avg(/host/key,1u:now-1d) #de gemiddelde waarde van een uur van 25 uur geleden tot 24 uur geleden vanaf nu
    avg(/host/key,#5) #de gemiddelde waarde van de laatste vijf waarden
    avg(/host/key,#5:now-1d) #de gemiddelde waarde van de laatste vijf waarden exclusief de waarden die in de afgelopen 24 uur zijn ontvangen

[comment]: # ({/4d97f370-d4b981e4})

[comment]: # ({3d2c3b94-2b85fe12})
##### bucket_percentile(item filter,tijdsperiode,percentage) {#bucket-percentile}

Berekent het percentiel van de buckets van een histogram.<br>

Parameters:

-   **item filter** - zie [itemfilter](/manual/appendix/functions/aggregate/foreach#item_filter);<br>
-   **tijdsperiode** - zie [tijdsperiode](/manual/appendix/functions/aggregate/foreach#time_period);<br>
-   **percentage** - percentage (0-100).

Opmerkingen:

-   Alleen ondersteund in berekende items;
-   Deze functie is een alias voor `histogram_quantile(percentage/100, bucket_rate_foreach(item filter, tijdsperiode, 1))`.

[comment]: # ({/3d2c3b94-2b85fe12})

[comment]: # ({2e22231d-b2c329b4})
##### count(func_foreach(item filter,<time period>)) {#count}

Het aantal waarden in een array dat wordt teruggegeven door een foreach-functie.<br>
Ondersteund waardestype: *Integer*.<br>
Ondersteunde [foreach-functies](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parameters:

-   **func_foreach** - foreach-functie waarvoor het aantal geretourneerde waarden moet worden geteld (met ondersteunde argumenten). Zie [foreach-functies](/manual/appendix/functions/aggregate/foreach) voor details.
-   **item filter** - zie [itemfilter](/manual/appendix/functions/aggregate/foreach#item_filter);<br>
-   **time period** - zie [tijdsperiode](/manual/appendix/functions/aggregate/foreach#time_period).

Het gebruik van **count()** met een history-gerelateerde foreach-functie (max_foreach, avg_foreach, enz.) kan leiden tot prestatie-implicaties, terwijl het gebruik van **exists_foreach()**, dat alleen met configuratiedata werkt, geen dergelijk effect zal hebben.

Voorbeelden:

    count(max_foreach(/*/net.if.in[*],1u)) #het aantal net.if.in-items dat gegevens heeft ontvangen in het afgelopen uur tot nu toe

[comment]: # ({/2e22231d-b2c329b4})

[comment]: # ({635521f5-d537bc9d})
##### histogram_quantile(quantile,bucket1,value1,bucket2,value2,...) {#histogram-quantile}

Berekent de φ-kwantielwaarde uit de buckets van een histogram.<br>
Ondersteunde [foreach-functie](/manual/appendix/functions/aggregate/foreach): *bucket_rate_foreach*.

Parameters:

-   **quantile** - 0 ≤ φ ≤ 1;<br>
-   **bucketN, valueN** - handmatig ingevoerde paren (>=2) van parameters of de respons van [bucket_rate_foreach](/manual/appendix/functions/aggregate/foreach).

Opmerkingen:

-   Alleen ondersteund in berekende items;
-   Functioneel overeenkomend met '[histogram\_quantile](https://prometheus.io/docs/prometheus/latest/querying/functions/#histogram_quantile)' van PromQL;
-   Geeft -1 terug als waarden van de laatste 'Infinity'-bucket (*"+inf"*) gelijk zijn aan 0.

Voorbeelden:

    histogram_quantile(0.75,1.0,last(/host/rate_bucket[1.0]),"+Inf",last(/host/rate_bucket[Inf]))
    histogram_quantile(0.5,bucket_rate_foreach(//item_key,30s))

[comment]: # ({/635521f5-d537bc9d})

[comment]: # ({46026cda-e82fcbbc})
##### item_count(item filter) {#item-count}

Het aantal bestaande items in de configuratie die overeenkomen met de filtercriteria.<br>
Ondersteund waardestype: *Integer*.

Parameter:

-   **item filter** - criteria voor itemselectie, maakt verwijzingen mogelijk op basis van hostgroep, host, item-sleutel en tags. Wildcards worden ondersteund. Zie [itemfilter](/manual/appendix/functions/aggregate/foreach#item_filter) voor meer details.<br>

Opmerkingen:

-   Alleen ondersteund in berekende items;
-   Werkt als een alias voor de functie *count(exists_foreach(item_filter))*.

Voorbeelden:

    item_count(/*/agent.ping?[group="Host group 1"]) #het aantal hosts met het item *agent.ping* in de groep "Host group 1"

[comment]: # ({/46026cda-e82fcbbc})

[comment]: # ({cfd357a7-2484a400})
##### kurtosis(/host/key,(sec|#num)<:time shift>) {#kurtosis}

De "staartigheid" van de kansverdeling in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: [Kurtosis](https://nl.wikipedia.org/wiki/Kurtosis).<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functie](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voorbeeld:

    kurtosis(/host/key,1u) #kurtosis voor het afgelopen uur tot nu toe

[comment]: # ({/cfd357a7-2484a400})

[comment]: # ({b4f667f5-dafb35c1})
##### mad(/host/key,(sec|#num)<:time shift>) {#mad}

De mediaan van de absolute afwijking in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: [Mediaan van absolute afwijking](https://nl.wikipedia.org/wiki/Median_absolute_deviation).<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functie](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voorbeeld:

    mad(/host/key,1u) #mediaan van absolute afwijking voor het afgelopen uur tot nu toe

[comment]: # ({/b4f667f5-dafb35c1})

[comment]: # ({c98c27ea-9e9e5478})
##### max(/host/key,(sec|#num)<:time shift>) {#max}

De hoogste waarde van een item binnen de gedefinieerde evaluatieperiode.<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functies](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voorbeeld:

    max(/host/key,1u) - min(/host/key,1u) #bereken het verschil tussen de maximale en minimale waarden van het afgelopen uur tot nu toe (het verschil van waarden)

[comment]: # ({/c98c27ea-9e9e5478})

[comment]: # ({b40486f7-54cd8156})
##### min(/host/key,(sec|#num)<:time shift>) {#min}

De laagste waarde van een item binnen de gedefinieerde evaluatieperiode.<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functies](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voorbeeld:

    max(/host/key,1u) - min(/host/key,1u) #bereken het verschil tussen de maximale en minimale waarden van het afgelopen uur tot nu toe (het verschil van waarden)

[comment]: # ({/b40486f7-54cd8156})

[comment]: # ({f51bbef9-129ad34a})
##### skewness(/host/key,(sec|#num)<:time shift>) {#skewness}

De asymmetrie van de kansverdeling in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: [Asymmetrie (Skewness)](https://nl.wikipedia.org/wiki/Asymmetrie_(skewness)).<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functie](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voorbeeld:

    skewness(/host/key,1u) #de asymmetrie voor het afgelopen uur tot nu toe

[comment]: # ({/f51bbef9-129ad34a})

[comment]: # ({d1055a49-462ae8a8})
##### stddevpop(/host/key,(sec|#num)<:time shift>) {#stddevpop}

De populatiestandaardafwijking in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: [Standaardafwijking (Standard deviation)](https://nl.wikipedia.org/wiki/Standaardafwijking).<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functie](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voorbeeld:

    stddevpop(/host/key,1u) #de populatiestandaardafwijking voor het afg

[comment]: # ({/d1055a49-462ae8a8})

[comment]: # ({e14fed81-b143c249})
##### stddevsamp(/host/key,(sec|#num)<:time shift>) {#stddevsamp}

De steekproefstandaardafwijking in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: [Standaardafwijking (Standard deviation)](https://nl.wikipedia.org/wiki/Standaardafwijking).<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functie](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voor deze functie zijn minimaal twee gegevenswaarden vereist.

Voorbeeld:

    stddevsamp(/host/key,1u) #de steekproefstandaardafwijking voor het afgelopen uur tot nu toe

[comment]: # ({/e14fed81-b143c249})

[comment]: # ({5324ae63-0757ed08})
##### sum(/host/key,(sec|#num)<:time shift>) {#sum}

De som van verzamelde waarden binnen de gedefinieerde evaluatieperiode.<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functies](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voorbeeld:

    sum(/host/key,1u) #de som van waarden voor het afgelopen uur tot nu toe

[comment]: # ({/5324ae63-0757ed08})

[comment]: # ({ccf32a69-b1644758})
##### sumofsquares(/host/key,(sec|#num)<:time shift>) {#sumofsquares}

De som van de kwadraten van verzamelde waarden binnen de gedefinieerde evaluatieperiode.<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functie](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voorbeeld:

    sumofsquares(/host/key,1u) #de som van kwadraten voor het afgelopen uur tot nu toe

[comment]: # ({/ccf32a69-b1644758})

[comment]: # ({64b54da2-67cb76c4})
##### varpop(/host/key,(sec|#num)<:time shift>) {#varpop}

De populatievariantie van verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: [Variantie (Variance)](https://nl.wikipedia.org/wiki/Variantie).<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functie](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voorbeeld:

    varpop(/host/key,1u) #de populatievariantie voor het afgelopen uur tot nu toe

[comment]: # ({/64b54da2-67cb76c4})

[comment]: # ({d5214b81-dd9460b2})
##### varsamp(/host/key,(sec|#num)<:time shift>) {#varsamp}

De steekproefvariantie van verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: [Variantie (Variance)](https://nl.wikipedia.org/wiki/Variantie).<br>
Ondersteunde waardestypen: *Float*, *Integer*.<br>
Ondersteunde [foreach-functie](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameters: zie [algemene parameters](#common-parameters).

Voor deze functie zijn minimaal twee gegevenswaarden vereist.

Voorbeeld:

    varsamp(/host/key,1u) #de steekproefvariantie voor het afgelopen uur tot nu toe

[comment]: # ({/d5214b81-dd9460b2})

[comment]: # ({ba59dd3a-18b9efc2})
Zie [alle ondersteunde functies](/handleiding/bijlage/functies).

[comment]: # ({/ba59dd3a-18b9efc2})

