여기에서 나는 사소한 문제가 해결되지 않는 것 같습니다. LogParser를 사용하여 일부 전화 시스템 CSV 로그 파일을 분석하고 있습니다. 요일별로 그룹화 된 두 날짜 사이의 모든 수신 통화 그래프를 생성하려고합니다. 나는 이것을 성취했지만, 월요일부터 시작하여 올바른 순서로 그래프를 표시하도록 고심하고있다. 다음과 같이 내가 LogParser와에 전달할 내 SQL 쿼리 : 그것은 실제로 모든 문에 의해 순서없이 올바른 순서로 출력로그 파서 ORDER BY CASE 문
SELECT to_string(to_timestamp(c1, 'yyyy/MM/dd HH:mm'), 'dddd') as Day, count(*) as Calls
INTO graph.gif
FROM C:\logs\*.txt
WHERE c5 = 'I'
AND to_timestamp(c1, 'yyyy/MM/dd HH:mm')
BETWEEN
timestamp('10/05/2012', 'dd/MM/yyyy')
AND timestamp('24/05/2012', 'dd/MM/yyyy')
GROUP BY Day
,하지만 난 첫 번째 열은 항상 일이라고 생각하는 날짜 범위 시작 on, 반면 나는 항상 월요일 (그래프의 쉬운 비교를 위해). 현재 일어나는 일은 내 로그 파일의 타임 스탬프를 요일의 문자열 표현 (출력 목적으로)으로 변환하고 '월요일'이 ' 화요일 '등등. 본능은 ORDER BY에서 CASE 문을 사용하는 것이었지만 LogParser는이를 받아들이지 않습니다.
이는 관련이 단지의 경우 내 전체 LogParser와 명령입니다,
C:\Program Files (x86)\Log Parser 2.2\Logparser.exe" -i:CSV "SELECT to_string(to_timestamp(c1, 'yyyy/MM/dd HH:mm'), 'dddd') as Day, count(*) as Calls INTO graph.gif FROM C:\logs\*.txt WHERE c5 = 'I' AND to_timestamp(c1, 'yyyy/MM/dd HH:mm') BETWEEN timestamp('10/05/2012', 'dd/MM/yyyy') AND timestamp('24/05/2012', 'dd/MM/yyyy') GROUP BY Day" -chartType:Column3D -chartTitle:"Incoming Calls" -values:ON -config:MyConfig.js -o:CHART -headerRow OFF -iHeaderFile C:\logs\header\header.txt
단순히 내가 좋아하는 모든 관계없이 항상 날짜 범위, 월요일에 시작하는 내 결과 순서입니다. 어떤 아이디어?
EDIT - 이것은 ORDER BY에 포함 된 CASE 문을 사용하는 쿼리입니다.
SELECT to_string(to_timestamp(c1, 'yyyy/MM/dd HH:mm'), 'dddd') as Day, count(*) as Calls
INTO graph.gif
FROM C:\logs\*.txt
WHERE c5 = 'I'
AND to_timestamp(c1, 'yyyy/MM/dd HH:mm')
BETWEEN
timestamp('10/05/2012', 'dd/MM/yyyy')
AND timestamp('24/05/2012', 'dd/MM/yyyy')
GROUP BY Day
ORDER BY (CASE
WHEN Day = 'Monday' THEN 1
WHEN Day = 'Tuesday' THEN 2
WHEN Day = 'Wednesday' THEN 3
WHEN Day = 'Thursday' THEN 4
WHEN Day = 'Friday' THEN 5
WHEN Day = 'Saturday' THEN 6
WHEN Day = 'Sunday' THEN 7
END)
LogParser를 사용 중이며 LogParser에서 ORDER BY의 CASE 문을 수락 할 수 없도록 최선을 다했습니다. 나는 그것이 SELECT에서만 지원된다고 생각한다. 또한, 나는 그것이 datepart 함수를 지원한다고 생각하지 않는다. 두 가지 방법 모두에 대한 로그 파서의 오류 메시지는 다음과 같습니다.'오류 : 구문 오류 : : 유효하지 않은 ' –
확실한 로그 파서의 ORDER BY는 CASE를 지원합니다. 2.2 확실히 그렇습니다. 구문 오류를 제공하는 전체 쿼리를 게시 할 수 있습니까? –
안녕하세요. 나는 그 바보 같은 것을 쓴 사람에게 약간 바보 같은 질문을하지만, 여전히 오류가 발생하고 Log Parser 2.2를 확실히 사용하고 있습니다. 나에게 오류를주는 CASE 문으로 원래 게시를 편집했습니다. –