Страницы: 1
RSS
Построить гистограмму распределения количества событий по часам
 
Приветствую всех и заранее благодарен за мудрые советы.  
 
Опишу ситуацию и вопрос.  
Дано:  
Если лог событий с указанием даты и времени каждого события в формате ДД.ММ.ГГГГ ЧЧ:ММ. Лог охватывает период за много дней - несколько десятков тысяч записей.  
Пример в приложении.  
 
Требуется:  
Выявить закономерность распределения событий во времени по часам в сутки (24 интервала). Т.е. необходимо построить гистограмму в которой по горизонтальной оси будет указано время в разрезе часов (т.е. всего 24 значения: 0:00, 1:00, 2:00... 23:00), а величина столбцов диаграммы (вертикальная ось) будет зависеть от количества событий из лога, которые происходили в каждый час суток за весь период ведения лога (т.е. в периоды  0:00 - 0:59, 1:00 - 1:59 ... 23:00 - 23:59 суммарно за все дни).  
 
Уже всю голову сломал как это сделать автоматизированно. Таких задач много и руками пересчитывать нереально.  
 
Насколько я понимаю, последовательность действий должна быть такова:  
1. Избавится от даты в столбце дата/время события. Оставить только время.    
Было ДД.ММ.ГГГГ ЧЧ:ММ - Стало ЧЧ:ММ  
 
2. Округлить значение времени вниз до целого часа.    
Было ЧЧ:ММ - Стало ЧЧ:00  
 
3. Сделать 24 столбца с функцией ЕСЛИ(значение в соотв. строке = 05:00; 1; 0). Суммировать единички в соответствующих столбцах и получить искомые значения.  
 
4. ЛИБО предположительно с помощью функции ВПР подсчитать количество занчений в зависимости от значения в столбце времени.  
 
Понимаю, что наверное описанный выше алгоритм не самый простой, но даже его не получается реализовать.  
Был бы благодарен за наводящие на правильную мысль советы или за пример решения подобной задачи.
 
Пример в приложении  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
Cull, скажите какая необходимость заставила Вас выложить такой огромный файл?  
Вам бы правила почитать.  
На пальцах решение. Есть такая функция ЧАС(), вставляете ее в соседний с данными столбец и переводите Ваши дата+время в часы.  
После создаете сводную таблицу в которой в области строк помещаете время, а в область данных Код_события - с операцией количество:)  
А потом по этой сводной таблице строите сводную диаграмму, или просто диаграмму.  
Удачи, а файл Ваш модераторы удалят.
 
Спасибо за ценную мысль и за критику.  
Ценную мысль усвоил и взял на заметку. В соседнем форуме предложили более изящное решение, но тем не менее ваш вариант я использовал для проверки ))  
 
Прошу прощения модераторов за нарушение правил. Загрузил такой файл, который разрешил форум. Виноват. Удалите, если накосячил.
 
{quote}{login=Cull}{date=19.09.2011 07:20}{thema=Спасибо}{post} В соседнем форуме предложили более изящное решение,...{/post}{/quote}  
А поделитесь решением.
 
{quote}{login=Igor67}{date=19.09.2011 09:04}{thema=Re: Спасибо}{post}  
А поделитесь решением.{/post}{/quote}  
http://forum.msexcel.ru/microsoft_excel/ish_dannye_postroit_gistogrammu_raspredel­eniya_kolichestva_sobytiy_po_chasam-t6364.0.html
 
Сергей, я файл не вижу так, как не зарегистрирован?  
ЗЫ формула массива на 22 и более тыр записей - не очень хорошо. Дело то разовое:)
 
{quote}{login=Igor67}{date=19.09.2011 09:14}{thema=}{post}Сергей, я файл не вижу так, как не зарегистрирован?  
ЗЫ формула массива на 22 и более тыр записей - не очень хорошо. Дело то разовое:){/post}{/quote}1. Да  
2. Согласен  
 
:-)
Страницы: 1
Читают тему
Наверх