这个问题的延续,在这里我对项目的工作与连接多个银行,荷兰,进入我们的平台的目标来的。
每次用户连接到单个银行时,我们都希望发送一个指标并将其显示在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个:
我们应该怎么做?
您需要使用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] 删除。
我来说两句