range()

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

生成包含一系列等间距值的动态数组。

语法

range(start, stop [, step])

详细了解语法约定

参数

客户 类型​​ 必需 说明
start 标量 (scalar) ✔️ 生成数组中第一个元素的值。
stop 标量 (scalar) ✔️ 结果数组中最后一个元素的最大值,使得序列中的最后一个值小于或等于停止值。
step 标量 (scalar) 数组中两个连续元素之间的差异。 step 的默认值为 1(对于数字)和 1h(对于 timespandatetime)。

返回

动态数组,其值为:startstart + step...直至并包括 stop。 如果达到允许的最大结果数,则将截断数组。

注意

范围函数最多支持 1,048,576 (2^20) 个结果。

示例

以下示例返回 1 到 8 的数字数组,增量为 3。

print r = range(1, 8, 3)

输出

r
[1,4,7]

以下示例返回包含 2007 年以来所有日期的数组:

print r = range(datetime(2007-01-01), datetime(2007-12-31), 1d)

输出

r
["2007-01-01T00:00:00.0000000Z","2007-01-02T00:00:00.0000000Z","2007-01-03T00:00:00.0000000Z",.....,"2007-12-31T00:00:00.0000000Z"]

以下示例返回包含介于 1 到 3 之间的数字的数组。

print range(1, 3)

输出

print_0
[1,2,3]

以下示例返回 1 小时到 5 小时之间的时间范围。

print range(1h, 5h)

输出

print_0
1,000,000
["01:00:00","02:00:00","03:00:00","04:00:00","05:00:00"]

以下示例返回截断数组,因为范围超出了结果数上限。 该示例演示通过使用 mv-expand 运算符将数组扩展到多条记录,然后统计记录条数时超出限制的情况。

print r = range(1,1000000000) 
| mv-expand r 
| count

输出

计数
1,048,576