Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
✅ 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