Назад | Перейти на главную страницу

LogParser и Quantize: добавьте 0 для пустых значений

я использую LogParser в моем журнале IIS, чтобы получить график доступов в час:

SELECT date,QUANTIZE(time,3600),COUNT(*) FROM ex*.log WHERE cs-uri-stem
LIKE '%SomePage.aspx' GROUP BY date,QUANTIZE(time,3600)

Проблема: если в течение часа нет доступа к SomePage.aspx, эта строка просто отсутствует в выводе. Мне просто интересно, могу ли я сказать LogParser вставлять строку для каждого часа, даже если COUNT (*) равно 0?

По сути, мне нужно что-то, что говорит анализатору логики использовать MIN (дата) и MAX (дата) как «границы» и «ожидать» одну строку в час. Отображение в настоящее время только в текстовом файле, а затем в Excel для создания графика (ударов в час на SomePage.aspx), поэтому для получения правильного линейного графика мне нужна запись для каждого часа, даже если он равен 0, и если я можно получить его прямо из LogParser, что было бы здорово.

Похоже, вы очень близки к просьбе, которую я часто получаю от различных менеджеров. «Можете ли вы сказать мне, какие части [вставить название здесь] веб-сайта не посещаются?»

Ответ прост: все, что не считается посещенным. Я обошел объяснение, что невозможно столько раз сообщить о чем-либо, чего нет в журнале!

Отчет о нулевых посещениях - это, по сути, отчет обо всем вашем веб-сайте (100 или 1000 страниц ??), за исключением посещенных. По мере увеличения размера сайта это становится менее практичным.

Каковы ваши намерения в отношении данных - ваш запрос просто перечисляет данные для просмотра - помещаете ли вы их в какой-либо файл / архив / базу данных для дальнейшей обработки, например, файл CSV для Excel для создания графиков, базу данных SQL для отчетов о деятельности ..?

Вы должны внешне соединить его с таблицей, в которой перечислены часы, которые вас интересуют.