PDA

Показать полную графическую версию : Подсчет оригинальных строк в текстовом документе


Страниц : [1] 2

vision-d
08-01-2014, 21:05
Всем привет! Подскажите как реализовать подсчет оригинальных строк в текстовом документе?

mwz
08-01-2014, 22:25
подсчет оригинальных строк »

Т.е. тех, которые не являются плагиатом? :o

Iska
09-01-2014, 06:11
Очевидно, следует читать — «уникальных». Но тоже жду более детального описания.

vision-d
09-01-2014, 15:07
Есть список:
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 в документе) пришедших за каждые сутки в период времени (например за год).

Iska
09-01-2014, 15:32
Есть список: »
Выкладывайте образец файла. В архиве. В той же кодировке, что и оригинальный.

пришедших за каждые сутки в период времени (например за год). »
Поясните.

vision-d
09-01-2014, 15:52
Поясните. » Мне надо подсчитать кол-во обращений в систему пользователей за год. т.е нужно расчитать по дням какие пользователи приходили и так за весь год.

файл - http://rghost.ru/51511385

Iska
09-01-2014, 16:15
расчитать по дням какие пользователи приходили и так за весь год. »
Вот этого я и не пойму. Попробуйте перефразировать или пояснить на примере.

vision-d
09-01-2014, 20:07
нужно собрать уникальные id пользователей за каждый день месяца и пересчитать их и получится число обращений за месяц.

Iska
09-01-2014, 21:38
Так, теперь за месяц, а не за год? Совсем ничего не понимаю.

Вася пять раз отметился в первое число месяца, трижды — второго, четырежды — в первое число следующего месяца. Что мы должны получить в итоге по Васе?

Foreigner
09-01-2014, 21:42
файл - http://rghost.ru/51511385 »
Там все строки уникальные:

@echo off
setlocal

for /f %%i in (114-2.txt) do set /a user_%%i+=1

set user_

vision-d
10-01-2014, 09:27
Вася пять раз отметился в первое число месяца, трижды — второго, четырежды — в первое число следующего месяца. Что мы должны получить в итоге по Васе? »
Вася был у нас три раза получается)
Так вообще нужно за год считать, желательно если можно указать интервал.

Iska
10-01-2014, 09:56
Вася был у нас три раза получается) »
Эти три раза складываются из 1 за «первое число месяца» +1 за «второго» и +1 за «первое число следующего месяца», так?

vision-d
10-01-2014, 10:16
Эти три раза складываются из 1 за «первое число месяца» +1 за «второго» и +1 за «первое число следующего месяца», так? »
Да!

Iska
11-01-2014, 07:46
vision-d, а что там (http://www.oszone.net/go.php?url=http://rghost.ru/51511385) можно считать? Там по одному-единственному числу в строке. Никаких дат там нет.

vision-d
13-01-2014, 09:25
vision-d, а что там можно считать? Там по одному-единственному числу в строке. Никаких дат там нет. »
Ошибся. выложил не тот файл. Вот нужное http://yadi.sk/d/kic8NfxQFn84V

Foreigner
13-01-2014, 10:33
vision-d, Не лишним будет объяснить, что в этих колонках, где id пользователя, что значат rsl../rsl../ ?

vision-d
13-01-2014, 11:08
Не лишним будет объяснить, что в этих колонках, где id пользователя, что значат rsl../rsl../ ? »
_action - это действие с документом
_document - это сам документ
page - это номер открытой страницы
user_id - номер пользователя

Iska
14-01-2014, 01:24
Всё ещё не уверен, что правильно понял техзадание. Пробуйте:
@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]

Группируем количество строк по (дням + пользователям). К сожалению, нельзя делать разнонаправленную сортировку в запросе, чтобы даты шли по возрастанию, а количество — по убыванию.

vision-d
07-02-2014, 08:40
Салют всем!
Подскажите как реализовать в этом коде номеровку строк в полученном результате?

Iska
07-02-2014, 09:48
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]




© OSzone.net 2001-2012