#azure-data-explorer #kql
#azure-data-explorer #kql
Вопрос:
Я пытаюсь найти наилучший способ (или любой другой способ) создать линейную диаграмму для отображения среднего количества чего-либо за квартал. Когда я говорю «ежеквартально», я в основном имею в виду с шагом в 91 день (не календарные кварталы, такие как 01/01 — 03/01). Я хочу вывести это на линейный график, чтобы показать тренд, поэтому я также хочу, чтобы график показывал 0 отсчетов там, где нет данных за квартал.
Чтобы показать пример, допустим, у меня есть следующая таблица дат посещения для студентов:
let SampleTable = datatable(AttendanceDate:datetime, Student:string)
[
"02-01-2021", "John",
"01-01-2021", "Jane",
"06-01-2020", "Bill",
];
И я хочу показать график посещаемости по кварталам, поэтому я пытаюсь сделать что-то вроде этого:
SampleTable
| summarize AttendanceCount = count() by Quarter = datepart("Quarter", AttendanceDate)
| order by Quarter desc
| render linechart
А это не совсем то, к чему я стремлюсь. В этом примере кварталы будут выполняться следующим образом (просто для справки):
Q1 = 02/01/2021 - 12/01/2020
Q2 = 11/31/2020 - 09/01/2020
Q3 = 08/31/2020 - 06/01/2020
Так что в идеале результат должен выглядеть следующим образом:
Я не знаю, возможно ли это без написания длинного / сложного запроса, но все, что близко к этому (например, отображение одной даты вместо диапазона), было бы большим подспорьем.
Ответ №1:
вот вариант:
let SampleTable = datatable(AttendanceDate:datetime, Student:string)
[
"02-01-2021", "John",
"01-01-2021", "Jane",
"06-01-2020", "Bill",
];
let start = toscalar(SampleTable | summarize min(AttendanceDate));
SampleTable
| make-series count() on AttendanceDate from start to now() step 91d
| render timechart