operador range

Gera uma tabela de valores de coluna única.

Nota

Este operador não aceita uma entrada tabular.

Syntax

rangecolumnNamefrominiciartopararsteppasso

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
columnName string ✔️ O nome da coluna única na tabela de saída.
iniciar int, long, real, datetime ou timespan ✔️ O menor valor na saída.
parar int, long, real, datetime ou timespan ✔️ O valor mais alto a ser gerado na saída ou um limite no valor mais alto se o passo ultrapassar este valor.
passo int, long, real, datetime ou timespan ✔️ A diferença entre dois valores consecutivos.

Nota

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

Devoluções

Uma tabela com uma única coluna denominada columnName, cujos valores são iniciados,passode início+, ... até e até parar.

Exemplos

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

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

Saída

Última Semana
2015-12-05 09:10:04.627
2015-12-06 09:10:04.627
...
2015-12-12 09:10:04.627

O exemplo seguinte mostra como utilizar o range operador com parâmetros, que são depois expandidos 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 TempoOnly
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 seguinte cria uma tabela com uma única coluna denominada Steps cujo tipo é long e cujos valores são 1, 4e 7.

range Steps from 1 to 8 step 3

O exemplo seguinte mostra como o range operador pode ser utilizado para criar uma tabela de dimensão pequena, ad-hoc, que é depois utilizada 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