Delen via


EINDE

✅ Azure Stream Analytics ✅ Fabric Eventstream

Voor elke rij bepaalt de OVER-component het groeperen van rijen voordat een gekoppelde statistische of analytische functie wordt toegepast.

U kunt de OVER-component overal gebruiken waar een scalaire functie is toegestaan. U kunt bijvoorbeeld de OVER-component gebruiken in de componenten SELECT, WHERE, JOIN of GROUP BY.

Met de OVER-component worden rijen rechtstreeks vanuit de queryinvoer gegroepeerd. Dit wordt niet beïnvloed door predicaten in de WHERE-component, joinvoorwaarden in de JOIN-component of groepeervoorwaarden in de GROUP BY-component.

Momenteel worden de volgende statistische functies ondersteund met de OVER-component:

  • SOM
  • AVG
  • Minuut
  • MAX

Syntaxis

OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])

<PARTITION BY clause> ::== PARTITION BY partition_key, ... [n]

<LIMIT DURATION clause> ::== LIMIT DURATION (unit, length)

<WHEN clause> ::== WHEN boolean_expression

Argumenten

<PARTITION BY-component>

Hiermee geeft u op dat alleen de rijen met dezelfde <partition_key> worden overwogen voor de statistische of analytische functie.

<COMPONENT LIMIT DURATION>

Hiermee geeft u op hoeveel geschiedenis van de huidige rij is opgenomen in de groep. Zie DATEDIFF voor een gedetailleerde beschrijving van ondersteunde eenheden en de bijbehorende afkortingen.

<WANNEER-COMPONENT>

Hiermee geeft u de booleaanse voorwaarde op voor de rijen die in de groep moeten worden opgenomen.

Algemene opmerkingen

Het toepassen van een statistische of analytische functie met OVER op de resultatenset van een vensterfunctie kan onverwachte resultaten opleveren. Vensterfuncties wijzigen de tijdstempel van gebeurtenissen, omdat elke vensterbewerking de gebeurtenis aan het einde van het venster uitvoert. De huidige tijdstempel van een gebeurtenis kan worden geopend met system.timestamp(), na een vensterbewerking verschilt deze van het oorspronkelijke kenmerk van de gebeurtenistijd.

Voorbeelden

De gemiddelde temperatuur berekenen gedurende de afgelopen 5 minuten, per sensor:

SELECT AVG(temperature) OVER (PARTITION BY id LIMIT DURATION (minute, 5))
FROM input

Voer een waarschuwing uit als de resource het afgelopen uur niet in orde is:

SELECT 1 AS alert
FROM input
WHERE MAX(healthy) OVER (PARTITION BY id LIMIT DURATION (hour, 1)) = 0

Zie ook

Analytische functies
statistische functies