Condividi tramite


Operatore range

Genera una tabella a colonna singola di valori.

Nota

Questo operatore non accetta un input tabulare.

Sintassi

rangeColumnnamefromIniziaretoFermarestepPasso

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
columnName string ✔️ Nome della singola colonna nella tabella di output.
start int, long, real, datetime o timepan ✔️ Valore più piccolo nell'output.
stop int, long, real, datetime o timepan ✔️ Valore più alto generato nell'output o associato al valore più alto se il passaggio supera questo valore.
Passo int, long, real, datetime o timepan ✔️ Differenza tra due valori consecutivi.

Nota

I valori non possono fare riferimento alle colonne di alcuna tabella. Se si vuole calcolare l'intervallo in base a una tabella di input, usare la funzione range potenzialmente con l'operatore mv-expand .

Restituisce

Tabella con una singola colonna denominata columnName, i cui valori sono start, start+step, ... fino a e fino a fermarsi.

Esempio

Nell'esempio seguente viene creata una tabella con voci per il timestamp corrente esteso negli ultimi sette giorni, una volta al giorno.

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

Output

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

Nell'esempio seguente viene illustrato come usare l'operatore range con parametri, che vengono quindi estesi e utilizzati come tabella.

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

Output

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

Nell'esempio seguente viene creata una tabella con una singola colonna denominata Steps il cui tipo è long e i cui valori sono 1, 4e 7.

range Steps from 1 to 8 step 3

Nell'esempio seguente viene illustrato come usare l'operatore range per creare una tabella di dimensioni piccola, ad hoc, che viene quindi utilizzata per introdurre zeri in cui i dati di origine non hanno valori.

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