Подсчет оригинальных строк в текстовом документе
Всем привет! Подскажите как реализовать подсчет оригинальных строк в текстовом документе?
|
Цитата:
Цитата vision-d
подсчет оригинальных строк »
|
Т.е. тех, которые не являются плагиатом? :o
|
Очевидно, следует читать — «уникальных». Но тоже жду более детального описания.
|
Есть список:
HTML код:
2013-01-09 08:58:58.513 open /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd NULL 132589
2013-01-09 09:00:03.970 view /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd 70 147589
2013-01-09 08:59:58.373 view /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd 64 132889
2013-01-09 08:59:58.467 view /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd 66 132589
2013-01-09 08:59:59.297 view /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd 68 138589
2013-01-09 08:59:58.420 view /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd 65 132589
2013-01-09 08:59:59.657 view /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd 67 13989
2013-01-09 09:00:03.437 view /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd 69 132589
2013-01-09 09:00:07.763 view /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd 71 138589
2013-01-09 09:00:08.110 view /rsl01005000000/rsl01005388000/rsl01005388589/rsl01005388589.pd 72 1335589
Так понимаю подсчет лучше осуществить в logparser. Нужно чтобы он подсчитывал количество уникальных пользователей ( user id 132589 в документе) пришедших за каждые сутки в период времени (например за год).
|
Выкладывайте образец файла. В архиве. В той же кодировке, что и оригинальный.
Цитата:
Цитата vision-d
пришедших за каждые сутки в период времени (например за год). »
|
Поясните.
|
Мне надо подсчитать кол-во обращений в систему пользователей за год. т.е нужно расчитать по дням какие пользователи приходили и так за весь год.
файл - http://rghost.ru/51511385
|
Цитата:
Цитата vision-d
расчитать по дням какие пользователи приходили и так за весь год. »
|
Вот этого я и не пойму. Попробуйте перефразировать или пояснить на примере.
|
нужно собрать уникальные id пользователей за каждый день месяца и пересчитать их и получится число обращений за месяц.
|
Так, теперь за месяц, а не за год? Совсем ничего не понимаю.
Вася пять раз отметился в первое число месяца, трижды — второго, четырежды — в первое число следующего месяца. Что мы должны получить в итоге по Васе?
|
Там все строки уникальные:
Код:
@echo off
setlocal
for /f %%i in (114-2.txt) do set /a user_%%i+=1
set user_
|
Цитата:
Цитата Iska
Вася пять раз отметился в первое число месяца, трижды — второго, четырежды — в первое число следующего месяца. Что мы должны получить в итоге по Васе? »
|
Вася был у нас три раза получается)
Так вообще нужно за год считать, желательно если можно указать интервал.
|
Цитата:
Цитата vision-d
Вася был у нас три раза получается) »
|
Эти три раза складываются из 1 за «первое число месяца» +1 за «второго» и +1 за «первое число следующего месяца», так?
|
Цитата:
Цитата Iska
Эти три раза складываются из 1 за «первое число месяца» +1 за «второго» и +1 за «первое число следующего месяца», так? »
|
Да!
|
vision-d, а что там можно считать? Там по одному-единственному числу в строке. Никаких дат там нет.
|
Цитата:
Цитата Iska
vision-d, а что там можно считать? Там по одному-единственному числу в строке. Никаких дат там нет. »
|
Ошибся. выложил не тот файл. Вот нужное http://yadi.sk/d/kic8NfxQFn84V
|
vision-d, Не лишним будет объяснить, что в этих колонках, где id пользователя, что значат rsl../rsl../ ?
|
Цитата:
Цитата Foreigner
Не лишним будет объяснить, что в этих колонках, где id пользователя, что значат rsl../rsl../ ? »
|
_action - это действие с документом
_document - это сам документ
page - это номер открытой страницы
user_id - номер пользователя
|
Всё ещё не уверен, что правильно понял техзадание. Пробуйте:
читать дальше »
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set sSourceFile=E:\Песочница\0349\2013.txt
set sFromDateTime=2013-01-01
set sToDateTime=2013-12-31
"%ProgramFiles%\Log Parser 2.2\LogParser.exe" file:"Query - Group Users.sql"?SourceFile=%sSourceFile%+FromDateTime=%sFromDateTime%+ToDateTime=%sToDateTime% -i:TSV -iSeparator:space -headerRow:OFF -iCodepage:1251 -stats:OFF -rtp:-1
endlocal
exit /b 0
Query - Group Users.sql:
читать дальше »
Код:
SELECT
[Date],
[User ID],
Count(*) AS [Total Actions]
USING
Field1 AS [Date],
TO_TIMESTAMP(STRCAT(STRCAT(Field1, ' '), Field2),'yyyy-MM-dd hh:mm:ss.ll') AS [DateTime],
Field6 AS [User ID]
INTO DATAGRID
FROM '%SourceFile%'
WHERE
[DateTime] BETWEEN TO_TIMESTAMP('%FromDateTime%', 'yyyy-MM-dd') AND TO_TIMESTAMP('%ToDateTime%', 'yyyy-MM-dd')
GROUP BY [Date], [User ID]
ORDER BY [Date], [Total Actions], [User ID]
Группируем количество строк по (дням + пользователям). К сожалению, нельзя делать разнонаправленную сортировку в запросе, чтобы даты шли по возрастанию, а количество — по убыванию.
|
Салют всем!
Подскажите как реализовать в этом коде номеровку строк в полученном результате?
|
Query - Group Users.sql:
читать дальше »
Код:
SELECT
OUT_ROW_NUMBER() AS [Row Number],
[Date],
[User ID],
Count(*) AS [Total Actions]
USING
Field1 AS [Date],
TO_TIMESTAMP(STRCAT(STRCAT(Field1, ' '), Field2),'yyyy-MM-dd hh:mm:ss.ll') AS [DateTime],
Field6 AS [User ID]
INTO DATAGRID
FROM '%SourceFile%'
WHERE
[DateTime] BETWEEN TO_TIMESTAMP('%FromDateTime%', 'yyyy-MM-dd') AND TO_TIMESTAMP('%ToDateTime%', 'yyyy-MM-dd')
GROUP BY [Date], [User ID]
ORDER BY [Date], [Total Actions], [User ID]
|
Цитата:
Цитата Iska
Query - Group Users.sql: »
|
Здесь он будет нумеровать строки типа:
1
2
3
4
5
или будет выводить номер строки на которой была расположена строка в документе?
|
Цитата:
Цитата vision-d
Здесь он будет нумеровать строки типа:
1
2
3
4
5 »
|
Да. Но поскольку сортировка идёт по другим критериям:
Цитата:
Цитата Iska
Код:
ORDER BY [Date], [Total Actions], [User ID]
»
|
номера строк будут расположены не по возрастанию, а в произвольном порядке.
Цитата:
Цитата vision-d
или будет выводить номер строки на которой была расположена строка в документе? »
|
Нет. Для вывода номера строки исходного документа для формата TSV используется встроенное поле «RowNumber». В данном запросе его использовать не получится, поскольку мы делаем группировку по другим полям, а поле «RowNumber» по определению имеет уникальное содержимое.
|
Время: 16:26.
© OSzone.net 2001-