我正在尝试在Application Insights Analytics中绘制一个总和/计数指标的面积图:
customEvents | where timestamp > ago(7d) | summarize count() by bin(timestamp, 1h) | render areachart
我看到的是,如果某些存储桶中没有数据,那么图表不会下降到0.而是连接了两个点,并且认为存在一些数据,而实际上没有 .
问题 - 如何获得零填充区域图表(对应于红色墨水图表)?
有几种方法可以实现这一目标 .
make-series运算符允许为没有数据进行聚合的时段设置默认值:
customEvents | where timestamp > ago(10m) | make-series count() default=0 on timestamp in range(ago(10m), now(), 1m) | render areachart
这将生成零填充数据数组, | render 将相应地构建图表 .
| render
如果首选 | summarize ,您可以使用range运算符自行创建零填充范围:
| 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 回答
有几种方法可以实现这一目标 .
make-series运算符允许为没有数据进行聚合的时段设置默认值:
这将生成零填充数据数组,
| render
将相应地构建图表 .如果首选
| summarize
,您可以使用range运算符自行创建零填充范围:确保使用
join kind=leftouter
使输出中存在连接左侧的所有时间戳 .