bin_at()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Возвращает значение, округленное до ближайшего размера ячейки, которое выравнивается с фиксированной эталонной точкой.
В отличие от функции bin(), где точка выравнивания предопределена, bin_at() позволяет определить фиксированную точку для выравнивания. Результаты могут выровняться до или после фиксированной точки.
Синтаксис
bin_at
(
значение,
bin_size fixed_point,
)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Description |
---|---|---|---|
значение | int , long , real , timespan или datetime |
✔️ | Значение для округления. |
bin_size | int , long , real или timespan |
✔️ | Размер каждой ячейки. |
fixed_point | int , long , real , timespan или datetime |
✔️ | Константой того же типа, что и значение, которое используется в качестве фиксированной эталонной точки. |
Примечание.
Если значение равно или timespan
datetime
, то bin_size должен быть timespan
.
Возвраты
Ближайшее несколько bin_size ниже заданного значения, которое соответствует указанному fixed_point.
Примеры
В следующем примере значение округляется до ближайшей bin_size , которая соответствует fixed_point.
print bin_at(6.5, 2.5, 7)
Выходные данные
print_0 |
---|
4,5 |
В следующем примере интервал времени сопоставляется в ежедневные ячейки, выровненные до 12 часов фиксированной точки. Возвращаемое значение равно -12, так как ежедневное ячейко выровнено до 12 часов округляется до 12 в предыдущий день.
print bin_at(time(1h), 1d, 12h)
Выходные данные
print_0 |
---|
-12:00:00 |
В следующем примере ежедневные ячейки соответствуют полудню.
print bin_at(datetime(2017-05-15 10:20:00.0), 1d, datetime(1970-01-01 12:00:00.0))
Выходные данные
print_0 |
---|
2017-05-14T12:00:00Z |
В следующем примере ячейки еженедельно и соответствуют началу воскресенья 6 июня 2017 года. В примере возвращается ячейка, выравниваемая по воскресеньям.
print bin_at(datetime(2017-05-17 10:20:00.0), 7d, datetime(2017-06-04 00:00:00.0))
Выходные данные
print_0 |
---|
2017-05-14T00:00:00Z |
В следующем примере общее количество событий сгруппировано в ежедневные ячейки, выровненные по fixed_point дате и времени. Значение fixed_point включается в одну из возвращаемых ячеек.
datatable(Date:datetime, NumOfEvents:int)[
datetime(2018-02-24T15:14),3,
datetime(2018-02-24T15:24),4,
datetime(2018-02-23T16:14),4,
datetime(2018-02-23T17:29),4,
datetime(2018-02-26T15:14),5]
| summarize TotalEvents=sum(NumOfEvents) by bin_at(Date, 1d, datetime(2018-02-24 15:14:00.0000000))
Выходные данные
Дата | TotalEvents |
---|---|
2018-02-23T15:14:00Z | 8 |
2018-02-24T15:14:00Z | 7 |
2018-02-26T15:14:00Z | 5 |