Оператор range
Создает таблицу значений с одним столбцом.
Примечание
Этот оператор не принимает табличные входные данные.
Синтаксис
range
columnNamefrom
Начатьto
Остановитьstep
Шаг
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
columnName | string |
✔️ | Имя отдельного столбца в выходной таблице. |
start | int, long, real, datetime или timepan | ✔️ | Наименьшее значение в выходных данных. |
stop | int, long, real, datetime или timepan | ✔️ | Наибольшее значение, создаваемое в выходных данных, или привязанное к самому высокому значению, если шаг за этим значением выполняется. |
Шаг | int, long, real, datetime или timepan | ✔️ | Разница между двумя последовательными значениями. |
Примечание
Значения не могут ссылаться на столбцы какой-либо таблицы. Если вы хотите вычислить диапазон на основе входной таблицы, используйте функцию range потенциально с оператором mv-expand .
Возвращаемое значение
Таблица с одним столбцом columnName, значения которого: start, start+
step, ... до и до остановки.
Примеры
В следующем примере создается таблица с записями для текущей метки времени, продленной за последние семь дней, один раз в день.
range LastWeek from ago(7d) to now() step 1d
Выходные данные
LastWeek |
---|
2015-12-05 09:10:04.627 |
2015-12-06 09:10:04.627 |
... |
2015-12-12 09:10:04.627 |
В следующем примере показано, как использовать range
оператор с параметрами, которые затем расширяются и используются в виде таблицы.
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
Выходные данные
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 |
... | ... | ... | ... |
В следующем примере создается таблица с одним столбцом с именем с типом Steps
long
и значениями 1
, 4
и 7
.
range Steps from 1 to 8 step 3
В следующем примере показано, как range
оператор можно использовать для создания небольшой нерегламентированной таблицы измерений, которая затем используется для введения нулей, где исходные данные не имеют значений.
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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по