我尝试在Application Insights Analytics中绘制一个求和/计数指标随时间变化的面积图:
customEvents | where timestamp > ago(7d) | summarize count() by bin(timestamp, 1h) | render areachart
我所看到的是,如果在一些桶中没有数据,那么图表不会下降到0。相反,两个点是相连的,人们认为有一些数据,而实际上没有。问题-如何获得零填充面积图(对应于红墨水图)?
i7uq4tfw1#
有几种方法可以实现这一点。make-series运算符允许为不存在用于聚合的数据的时段设置默认值:
customEvents | where timestamp > ago(10m) | make-series count() default=0 on timestamp in range(ago(10m), now(), 1m) | render areachart
这将生成填充零的数据数组,| render将相应地构建图表。如果首选| summarize,您可以使用range运算符自己创建零填充范围:
| render
| summarize
let defaultValue = 0; range timestamp from floor(ago(10m),1m) to floor(now() + 10m,1m) step 1m | join kind=leftouter ( customEvents | where timestamp > floor(ago(10m),1m) and timestamp < floor(now(),1m) | summarize Value=count() by bin(timestamp, 1m) ) on timestamp | project timestamp, value = iff(isnotempty(Value), Value, defaultValue) | render areachart
确保使用join kind=leftouter将连接左侧的所有时间戳显示在输出中。
join kind=leftouter
1条答案
按热度按时间i7uq4tfw1#
有几种方法可以实现这一点。
make-series运算符允许为不存在用于聚合的数据的时段设置默认值:
这将生成填充零的数据数组,
| render
将相应地构建图表。如果首选
| summarize
,您可以使用range运算符自己创建零填充范围:确保使用
join kind=leftouter
将连接左侧的所有时间戳显示在输出中。