按KQL中的属性汇总数据

dsdsad

这个问题的延续,在这里我对项目的工作与连接多个银行,荷兰,进入我们的平台的目标来的。

每次用户连接到单个银行时,我们都希望发送一个指标并将其显示在Azure仪表板中。我们已经在做,但是我们想扩展它的功能。

customMetrics
| where name == "CustomerGrantedConsent" and customDimensions.IsInitialConsent == "True"
| extend BankName = customDimensions.BankName
| summarize Count = count() by tostring(BankName), bin(timestamp, 1d)
| order by BankName asc, timestamp asc
| serialize FirstConsents = row_cumsum(Count, BankName != prev(BankName))

通过此查询,我们可以汇总发生时银行同意的总数。到目前为止,这是结果。如您所见,,我们希望将金额与时间相加。我的意思是,如果昨天我们有4个同意,那么今天的总数将是:yesterday_count + today_count 4 + today_count

在此处输入图片说明

现在,如果今天没有同意,我们不会显示前一天的总和,这就是问题所在。如果昨天,我们对BUNQ有4个同意,今天我要显示至少4个:

  1. BUNQ有4位联络人31-01-2021
  2. 今天,BUNQ总共将至少有4个连接。

我们应该怎么做?

斯拉维克(Slavik N)

您需要使用make-series而不是summarize来拥有0就是这样:

datatable(Timestamp: datetime, BankName: string) [
    datetime(2021-01-29 08:00:00), "ABN AMRO",
    datetime(2021-01-29 09:00:00), "ABN AMRO",
    datetime(2021-01-28 09:00:00), "Invers",
    datetime(2021-01-28 10:00:00), "Invers",
    datetime(2021-01-28 11:00:00), "Invers",
    datetime(2021-01-29 08:00:00), "Invers",
    datetime(2021-01-29 09:00:00), "Invers",
]
| make-series Count = count() on Timestamp to now() step 1d by tostring(BankName)
| mv-expand Count to typeof(long), Timestamp to typeof(string)
| order by BankName asc, Timestamp asc
| extend FirstConsents = row_cumsum(Count, BankName != prev(BankName))

输出将是:

银行名称 计数 时间戳记 初次同意
荷兰银行 2 2021-01-28 11:12:50 2
荷兰银行 0 2021-01-29 11:12:50 2
荷兰银行 0 2021-01-30 11:12:50 2
荷兰银行 0 2021-01-31 11:12:50 2
3 2021-01-27 11:12:50 3
2 2021-01-28 11:12:50 5
0 2021-01-29 11:12:50 5
0 2021-01-30 11:12:50 5
0 2021-01-31 11:12:50 5

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章