у меня есть таблица процессов и их начала и окончания (рассчитывается от времени начала и продолжительности), указанные по ID процесса:
Run ID Duration Start Time End Time
200878 464 5/16/11 4:15 5/16/11 11:59
200879 76 5/16/11 4:22 5/16/11 5:38
200880 165 5/16/11 6:29 5/16/11 9:14
200881 44 5/16/11 9:44 5/16/11 10:28
мне нужен способ превратить данные в "временные интервалы", чтобы подсчитать количество запущенных процессов в течение каждого часа, используя встроенные сводные таблицы Excel.
для выдержки данных выше, я хочу эту диаграмму:
Timeslot Start Timeslot End Running Processes
5/16/11 3:00 5/16/11 4:00 0
5/16/11 4:00 5/16/11 5:00 2
5/16/11 5:00 5/16/11 6:00 2
5/16/11 6:00 5/16/11 7:00 2
5/16/11 7:00 5/16/11 8:00 2
5/16/11 8:00 5/16/11 9:00 2
5/16/11 9:00 5/16/11 10:00 3
5/16/11 10:00 5/16/11 11:00 2
5/16/11 11:00 5/16/11 12:00 1
мой текущий обходной путь использует функцию SUMIFS для подсчета строк это вписывается в каждый временной интервал. Это на самом деле сообщает точную статистику, которую я хочу, но со следующими недостатками:
- "старт таймслот" раз надо вводить вручную, и распространяется на различные сроки представлены в исходной таблице.
- ни один из механизмов фильтрации собственных сводных таблиц Excel не работает, как срезы, или упорядочивание по другим параметрам (мои фактические данные имеют другие поля, кроме "Run ID", который был удален для краткость)
таким образом, если возможно, я хотел бы получить те же данные с "реальными" сводными таблицами.
Я также возился с добавлением группировки по часам / дням/месяцам / годам в сводной таблице, но даже с опцией "показывать элементы без данных" тот факт, что процессы могут длиться более одного часа, вызывает недоотчет (процессы, которые охватывают определенный временной интервал, но не запускаются или не заканчиваются в нем, не учитываются для этого временного интервала.)
для ваших экспериментов, вот файл xlsx с некоторыми данными и моей собственной сводкой на основе SUMIFS:http://dl.dropbox.com/u/123900/timeslot%20pivot.xlsx