bin_at()
将值向下舍入为固定大小的箱,并控制箱的起点。
语法
bin_at
(
value,
bin_size,
fixed_point)
详细了解语法约定。
参数
客户 | 类型 | 必需 | Description |
---|---|---|---|
value | int、long、real、timespan 或 datetime | ✔ | 要舍入的值。 |
bin_size | int、long、real 或 timespan | ✔ | 每个箱的大小。 |
fixed_point | int、long、real、timespan 或 datetime | ✔ | 与 value 的类型相同的常量,指示 value 的一个值,该值是 bin_at(fixed_point, bin_size, fixed_point) == fixed_point 的固定点。 |
注意
如果 value 是 timespan 或 datetime,则 bin_size 必须是 timespan。
返回
低于 value 的最接近的 bin_size 倍数,移动后 fixed_point 将被转换为自身。
示例
表达式 | 结果 | 注释 |
---|---|---|
bin_at(6.5, 2.5, 7) |
4.5 |
|
bin_at(time(1h), 1d, 12h) |
-12h |
|
bin_at(datetime(2017-05-15 10:20:00.0), 1d, datetime(1970-01-01 12:00:00.0)) |
datetime(2017-05-14 12:00:00.0) |
所有 bin 都将处于中午 |
bin_at(datetime(2017-05-17 10:20:00.0), 7d, datetime(2017-06-04 00:00:00.0)) |
datetime(2017-05-14 00:00:00.0) |
所有 bin 都将在星期日 |
在下面的示例中,注意 "fixed point"
参数将作为一个 bin 返回,其他 bin 根据 bin_size
与其对齐。 另请注意,每个日期/时间 bin 表示该 bin 的开始时间:
datatable(Date:datetime, Num:int)[
datetime(2018-02-24T15:14),3,
datetime(2018-02-23T16:14),4,
datetime(2018-02-26T15:14),5]
| summarize sum(Num) by bin_at(Date, 1d, datetime(2018-02-24 15:14:00.0000000))
输出
Date | sum_Num |
---|---|
2018-02-23 15:14:00.0000000 | 4 |
2018-02-24 15:14:00.0000000 | 3 |
2018-02-26 15:14:00.0000000 | 5 |