Как обнулить диаграммы / корзины в Application Insights Analytics - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь построить диаграмму области с одной метрикой суммы / количества с течением времени в Application Insights Analytics:

customEvents
| where timestamp > ago(7d)
| summarize count() by bin(timestamp, 1h)
| render areachart  

Я вижу, что если в некоторых сегментах нет данных, тогда диаграмма нене упасть до 0. Вместо этого две точки связаны, и существует ощущение, что были некоторые данные, хотя на самом деле их не было.

Вопрос - как получить заполненные нулями диаграммы областей (соответствующие диаграмме с красными чернилами)?

enter image description here

1 Ответ

0 голосов
/ 26 мая 2018

Для этого есть несколько способов.

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 :

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, чтобы все выходные метки с левой стороны объединения присутствовали в выходных данных.

...