使用 Kusto 查询语言每月计算用户数

Calculate Count of users every month in Kusto query language

我有一个 table 名为 tab1:

Timestamp    Username.   sessionid
12-12-2020.  Ravi.       abc123
12-12-2020.  Hari.       oipio878
12-12-2020.  Ravi.       ytut987
11-12-2020.  Ram.        def123
10-12-2020.  Ravi.       jhgj54
10-12-2020.  Shiv.       qwee090
10-12-2020.  bob.        rtet4535
30-12-2020.  sita.       jgjye56

我想计算每天不同 Username 的数量,因此输出为:

day.            count
10-12-2020.     3
11-12-2020.     1
12-12-2020.     2
30-12-2020.     1

尝试查询:

tab1
    | where timestamp > datetime(01-08-2020)
    | range timestamp from datetime(01-08-2020) to now() step 1d
    | extend day = dayofmonth(timestamp)
    | distinct Username
    | count
| project day, count

要非常接近地估计每天的用户名数量,只需 运行 这个(数字不会准确,请参阅详细信息 here):

tab1
| summarize dcount(Username) by bin(Timestamp, 1d)

如果您想要准确的结果,那么您应该这样做(请注意,该查询的性能将低于前一个查询,并且仅当您每天有多达 1,000,000 个用户名时才有效):

tab1
| summarize make_set(Username) by bin(Timestamp, 1d)
| project Timestamp, Count = array_length(set_Username)