KQL 时间序列对时间范围进行分组 - Kusto

KQL Time Series to group time range - Kusto

我有一个包含 StartDate 和 EndDate 列的数据集。我正在尝试计算在任何给定时间步长有多少项目 'active' 。例如:如果项目有 StartTime 01/21/2021 和 EndTime 03/22/2021,它将增加 01/2021、02/2021、03/2021。

我觉得这与时间序列有关,但我无法理解它。

let data=datatable(startTime:datetime, endtime:datetime)
[
datetime(2021-07-07), datetime(2021-07-13),
datetime(2021-07-02), datetime(2021-09-09),
datetime(2021-06-21), datetime(2021-06-21),
datetime(2021-06-21), datetime(2021-07-23),
datetime(2021-07-07), datetime(2021-07-07),
datetime(2021-07-08), datetime(2021-08-11),
datetime(2021-05-23), datetime(2021-08-23),
]

输出:

Month           Count
2021-05         1
2021-06         3
2021-07         6
2021-08         3

提前致谢

基于此 documentation 的细微变化:

execute on web explorer help cluster

let data=datatable(startTime: datetime, endtime: datetime) [
    datetime(2021-07-07), datetime(2021-07-13),
    datetime(2021-07-02), datetime(2021-09-09),
    datetime(2021-06-21), datetime(2021-06-21),
    datetime(2021-06-21), datetime(2021-07-23),
    datetime(2021-07-07), datetime(2021-07-07),
    datetime(2021-07-08), datetime(2021-08-11),
    datetime(2021-05-23), datetime(2021-08-23),
];
data
// assign an id to each original event (since this is what we want to count)
| serialize | extend n=row_number()
| extend Samples = range(startTime, endtime, 1d)
| mv-expand Samples to typeof(datetime)
| extend Month = startofmonth(Samples)
// count unique events per month
| summarize dcount(n) by Month