Анализ таких данных (имя, дата) можно рассматривать как выдачу специальных SQL-запросов для получения информации о временных сериях.
Вы будете «выбирать» свою информацию по дате / времени (день / неделя / месяц / год или более подробно по часам / минутам) в зависимости от размера вашего набора данных.
Я часто использую такой запрос, когда поле даты усечено до частоты дискретизации, в mysql функция DATE_FORMAT хороша для этого (postgres и oracle используют date_trunc и trunc соответственно)
То, что вы хотите видеть в ваших данных, соответствует вашим условиям WHERE.
select DATE_FORMAT(date_field,'%Y-%m-%d') as day,
COUNT(*) as nb_event
FROM yourtable
WHERE name = 'specific_value_to_analyze'
GROUP BY DATE_FORMAT(date_field,'%Y-%m-%d');
выполнить этот запрос и вывести в CSV-файл. Для этого вы можете использовать прямые команды mysql, но я рекомендую создать сценарий python, который выполняет такой запрос, и вы можете использовать опции getopt для форматирования вывода (с заголовками столбцов или без них, используйте разделитель, отличный от используемого по умолчанию, и т. Д.). И даже вы можете динамически строить запрос на основе некоторых опций.
Чтобы построить такую информацию, взгляните на инструменты временных рядов. Если у вас отсутствуют данные (дата, которая не появится в результате такого SQL-запроса), вам следует позаботиться о выборе. Я думаю, что Excel не подходит для этого (или недостаточно хорош для этого), но может стать началом.
Лично я нашел dygraph, библиотеку javascript, действительно классную для построения временных рядов, и ее можно использовать с файлом csv в качестве источника. Осторожно в такой конфигурации, из-за ограничений безопасности между доменами, файл csv и html-страница, которые отображают объект Dygraph, должны находиться на одном сервере (или независимо от того, какое ограничение безопасности вашего браузера хочет принять).
Я использовал для создания такого веб-приложения, используя django, так как это мой любимый веб-фреймворк, где я заключаю URL-вызов в следующий код:
GET /timeserie/view/<category>/<value_to_plot>
GET /timeserie/csv/<category>/<value_to_plot>
Первый URL вызывает представление, которое просто выводит файл шаблона с переменной, которая ссылается на URL для получения файла csv для объекта Dygraph:
<script type="text/javascript">
g3 = new Dygraph(
document.getElementById("graphdiv3"),
"{{ csv_url }}",
{
rollPeriod: 15,
showRoller: true
}
);
</script>
Второй URL вызывает представление, которое генерирует запрос sql и выводит результат в виде текста / csv для визуализации Dygraph.
Он «самодельный» может быть простым или расширенным, легко запускаться на любом настольном компьютере, может быть расширен до выходного формата json для использования другими библиотеками / фреймворками javascript.
Еще есть инструмент с открытым исходным кодом, связанный с такими отчетами (но возможностей временных рядов часто недостаточно для моих нужд), таких как Pentaho, JasperReport, SOFA. Вы делаете запрос как источник данных внутри отчета в таком инструменте и строите график, который выводит временную серию.
Я обнаружил, что сегодня веб-техника с правильной библиотекой / структурой javascript действительно начинает корректно бросать вызов этой старой моде отчетности с помощью таких классических инструментов BI, и это делает вещи интерактивными: -)