Operador range

Genera una tabla de valores de una columna única.

Nota

Este operador no toma una entrada tabular.

Syntax

rangeColumnnamefromEmpezartoParadastepPaso

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
columnName string ✔️ Nombre de la sola columna de la tabla de salida.
start int, long, real, datetime o timespan ✔️ Valor más pequeño de la salida.
stop int, long, real, datetime o timespan ✔️ El valor más alto que se genera en la salida o un enlazado en el valor más alto si paso paso a paso por encima de este valor.
step int, long, real, datetime o timespan ✔️ Diferencia entre dos valores consecutivos.

Nota

Los valores no pueden hacer referencia a las columnas de ninguna tabla. Si desea calcular el intervalo en función de una tabla de entrada, use la función range potencialmente con el operador mv-expand .

Devoluciones

Una tabla con una sola columna denominada columnName, cuyos valores son start, start+step, ... hasta y hasta que se detenga.

Ejemplos

En el ejemplo siguiente se crea una tabla con entradas para la marca de tiempo actual extendida en los últimos siete días, una vez al día.

range LastWeek from ago(7d) to now() step 1d

Salida

LastWeek
2015-12-05 09:10:04.627
2015-12-06 09:10:04.627
...
2015-12-12 09:10:04.627

En el ejemplo siguiente se muestra cómo usar el range operador con parámetros, que se extienden y se consumen como una tabla.

let toUnixTime = (dt:datetime) 
{ 
    (dt - datetime(1970-01-01)) / 1s 
};
let MyMonthStart = startofmonth(now()); //Start of month
let StepBy = 4.534h; //Supported timespans
let nn = 64000; // Row Count parametrized
let MyTimeline = range MyMonthHour from MyMonthStart to now() step StepBy
| extend MyMonthHourinUnixTime = toUnixTime(MyMonthHour), DateOnly = bin(MyMonthHour,1d), TimeOnly = MyMonthHour - bin(MyMonthHour,1d)
; MyTimeline | order by MyMonthHour asc | take nn

Salida

MyMonthHour MyMonthHourinUnixTime DateOnly TimeOnly
2023-02-01 00:00:00.0000000 1675209600 2023-02-01 00:00:00.0000000
2023-02-01 04:32:02.4000000 1675225922.4 2023-02-01 00:00:00.0000000
2023-02-01 09:04:04.8000000 1675242244.8 2023-02-01 00:00:00.0000000
2023-02-01 13:36:07.2000000 1675258567.2 2023-02-01 00:00:00.0000000
... ... ... ...

En el ejemplo siguiente se crea una tabla con una sola columna denominada Steps cuyo tipo es long y cuyos valores son 1, 4y 7.

range Steps from 1 to 8 step 3

En el ejemplo siguiente se muestra cómo se puede usar el range operador para crear una tabla de dimensiones pequeña, ad hoc y que, a continuación, se usa para introducir ceros donde los datos de origen no tienen valores.

range TIMESTAMP from ago(4h) to now() step 1m
| join kind=fullouter
  (Traces
      | where TIMESTAMP > ago(4h)
      | summarize Count=count() by bin(TIMESTAMP, 1m)
  ) on TIMESTAMP
| project Count=iff(isnull(Count), 0, Count), TIMESTAMP
| render timechart