operador range

Gera uma tabela de coluna única de valores.

Observação

Esse operador não aceita uma entrada tabular.

Syntax

rangeColumnnamefromComeçartoPararstepPasso

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
columnName string ✔️ O nome da única coluna na tabela de saída.
start int, long, real, datetime ou timespan ✔️ O menor valor na saída.
stop int, long, real, datetime ou timespan ✔️ O valor mais alto que está sendo gerado na saída ou um limite no valor mais alto se a etapa passar por esse valor.
step int, long, real, datetime ou timespan ✔️ A diferença entre dois valores consecutivos.

Observação

Os valores não podem referenciar as colunas de nenhuma tabela. Se você quiser calcular o intervalo com base em uma tabela de entrada, use a função de intervalo potencialmente com o operador mv-expand .

Retornos

Uma tabela com uma única coluna chamada columnName, cujos valores são start, start+step, ... até e até parar.

Exemplos

O exemplo a seguir cria uma tabela com entradas para o carimbo de data/hora atual estendido nos últimos sete dias, uma vez por dia.

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

Saída

SemanaPassada
2015-12-05 09:10:04,627
2015-12-06 09:10:04,627
...
2015-12-12 09:10:04,627

O exemplo a seguir mostra como usar o range operador com parâmetros, que são então estendidos e consumidos como uma tabela.

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

Saída

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
... ... ... ...

O exemplo a seguir cria uma tabela com uma única coluna chamada Steps cujo tipo é long e cujos valores são 1, 4e 7.

range Steps from 1 to 8 step 3

O exemplo a seguir mostra como o range operador pode ser usado para criar uma tabela de dimensões pequena, ad hoc, que é usada para introduzir zeros em que os dados de origem não têm 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