windowAvg
La funzione windowAvg calcola la media della misura aggregata in una finestra personalizzata divisa e ordinata in base agli attributi specificati. In genere puoi usare le funzioni finestra personalizzata in una serie temporale, in cui l'elemento visivo mostra un parametro e un campo di data. Ad esempio, puoi usare windowAvg per calcolare una media mobile, usate spesso per ridurre il rumore in un grafico a linee.
Le funzioni di Windows non sono supportate per le versioni di MySQL precedenti alla 8 e per le versioni di MariaDB precedenti alla 10.2.
Sintassi
Le parentesi sono obbligatorie. Per vedere quali argomenti sono facoltativi, consulta le seguenti descrizioni.
windowAvg (measure,[sort_order_field ASC/DESC, ...],start_index,end_index,[ partition_field, ... ])
Argomenti
- misura
- 
							Parametro aggregato per cui desideri ottenere la media, ad esempio sum({Revenue}).
- sort attribute
- 
							Uno o più campi aggregati (misure o dimensioni o entrambe) in base ai quali si desidera ordinare i dati, separati da virgole. È possibile specificare l'ordinamento crescente ( ASC) o decrescente (DESC).Ogni campo nell'elenco è racchiuso tra {} (parentesi graffe), se è costituito da più di una parola. L'intero elenco è racchiuso tra [ ] (parentesi quadre). 
- start index
- 
							L'argomento start index è un numero intero positivo, che indica n righe sopra la riga corrente. L'argomento start index conteggia i punti dati disponibili sopra la riga corrente, invece di conteggiare gli effettivi periodi di tempo. Se i dati sono di tipo sparse (ad esempio, mesi o anni mancanti), modifica gli indici di conseguenza. 
- end index
- 
							L'argomento end index è un numero intero positivo, che indica n righe sotto la riga corrente. L'argomento end index conteggia i punti dati disponibili sotto la riga corrente, invece di conteggiare gli effettivi periodi di tempo. Se i dati sono di tipo sparse (ad esempio, mesi o anni mancanti), modifica gli indici di conseguenza. 
- partition field
- 
							(Facoltativo) Una o più dimensioni in base alle quali si desidera eseguire la partizione, separate da virgole. Ogni campo nell'elenco è racchiuso tra {} (parentesi graffe), se è costituito da più di una parola. L'intero elenco è racchiuso tra [ ] (parentesi quadre). 
Esempio
L'esempio seguente calcola la media mobile di sum(Revenue), diviso per SaleDate. Il calcolo include tre righe al di sopra e due righe al di sotto della riga corrente.
windowAvg ( sum(Revenue), [SaleDate ASC], 3, 2 )
Lo screenshot seguente mostra i risultati di questo esempio di media mobile. Il campo sum(Revenue) viene aggiunto al grafico per mostrare la differenza tra i ricavi e la media mobile dei ricavi.
