Compartir a través de


CollectTOP

✅ Secuencia de eventos de Azure Stream Analytics ✅ Fabric

Devuelve una matriz de registros clasificados, donde rank define la posición de clasificación del evento en la ventana según la ordenación especificada. La ordenación o clasificación se basa en columnas de eventos y se puede especificar en la cláusula ORDER BY.

Sintaxis

-- Aggregate Function Syntax
CollectTop(<number of events as integer literal> [ , <scalar_expression> ]) OVER (ORDER BY (<column name> [ASC |DESC])+)

-- Analytic Function Syntax
CollectTop(<number of events as integer literal> [ , <scalar_expression> ]) OVER ([<PARTITION BY clause>] ORDER BY (<column name> [ASC | DESC])+ <LIMIT DURATION clause>  [<WHEN clause>])

Argumentos

<número de eventos como literal entero>

Número de eventos principales que el usuario quiere recopilar de la ventana.

<scalar_expression>

CollectTop toma una expresión escalar opcional que permite especificar una proyección sobre los eventos recopilados. Sin el parámetro , se recopilan registros de eventos completos.

<nombre de columna>

Nombre de la columna en el evento de entrada, por el que se realizará la ordenación. Solo se permite ordenar por tipos bigint/float/datetime.

OVER ([<CLÁUSULA PARTITION BY><LIMIT DURATION cláusula> [<cláusula> WHEN]]

Determina el grupo de filas sobre las que se aplica CollectTop. La cláusula PARTITION BY especifica que las filas con la misma clave de partición se agruparán. La cláusula LIMIT DURATION especifica cuánto historial se incluye en el grupo. La cláusula WHEN especifica una condición booleana para que las filas se incluyan en el grupo. Consulte la cláusula OVER para obtener más detalles sobre el uso.

Tipos de valor devuelto

Matriz de registros de tipo { "rank" : bigint, "value": <projected_type> }, donde <projected_type> es el tipo de <scalar_expression> o un registro si no se especifica ninguna expresión.

Observaciones

Null se trata como el valor mínimo, para obtener más información, vea https://msdn.microsoft.com/library/ms188385.aspx

Ejemplos

SELECT   
    value1,  
    CollectTop(2) OVER (ORDER BY value2 ASC, value3 DESC) as top1  
FROM testinput timestamp by time  
GROUP BY TumblingWindow(second, 5), value1  

Entrada de ejemplo:

Entrada de ejemplo

Ejemplo de resultado:

Salida de ejemplo

SELECT   
    value1,  
    CollectTop(2, x + y) OVER (ORDER BY value2 ASC, value3 DESC) as top1  
FROM testinput timestamp by time  
GROUP BY TumblingWindow(second, 5), value1