If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Database Server Software > Informix > Need help with Query showing Report statistics

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 10-25-10, 15:10
mlong30 mlong30 is offline
Registered User
 
Join Date: Oct 2007
Posts: 13
Need help with Query showing Report statistics

Hi All,

I want to create a query that will shows, how long a report took to run the last time it was ran, and what is the avg report time (based on history) for that report.

1. I want to select all reports that have a status of running or waiting in the queue, and determine how they ran in the past.
2. For each running/waiting report calculate the last report process time. SUM(start_Time-Stop_Time)
3. For each running/waiting report calculate the avg report process time AVG(start_Time-Stop_Time)

NOTE: There is no end time for running/waiting reports. I need to check the report that have a complete status, and a end time to calculate avg time, and how long it took to run, the last time it was ran.

Sample data in the report queue as of Oct-225-2010
Start Time User Name Report_Desc Status
2010-10-25 09:20:54.017 tom.jones@test.com Ad-Hoc - Report1 running
2010-10-25 09:21:43.52 tom.jones@test.com Ad-Hoc - Report1 running
2010-10-25 09:24:22.986 test.one@test.com Ad-Hoc - Report2 waiting
2010-10-25 09:24:42.872 test.one@test.com Ad-Hoc - Report3 waiting
2010-10-25 09:26:01.275 user1@test.com Ad-Hoc - Report4 waiting
2010-10-25 09:26:20.337 user2@test.com Ad-Hoc - Report4 waiting


My end results would be...

User Name Report Desc LastRunTime AvgRunTime
tom.jones@test.com Ad_Hoc - Report1 2010-10-21 0hr:54m 1h:13m
tom.jones@test.com Ad_Hoc - Report1 2010-10-21 0hr:54m 1h:13m
test.one@test.com Ad_Hoc - Report2 2010-10-12 2hr:54m 3h:13m
user1@test.com Ad_Hoc - Report3 2010-10-02 0hr:20m 0h:18m
user2@test.com Ad_Hoc - Report4 2010-10-02 0hr:35m 0h:54m


I know the following will work separately, but not sure if I can join them together without writing a program.

-- Pull all reports waiting, running
SELECT user_id,report_desc,status
FROM report_hist
WHERE status IN ('waiting','running')
ORDER BY ts DESC

--Avg Time Report Ran Need: need to check each report_desc results from the first query. Not sure how to link the two together, using a LIKE statement without specify a specific value.

SELECT AVG(start_time-stop_time) AS avgtime
FROM report_hist
WHERE report_desc like 'Ad-Hoc - Report1' AND
((start_time IS NOT NULL) OR (stop_time IS NOT NULL))

-- Lasttime Report ran
SELECT FIRST 1 SUM(start_time-stop_time) AS lastruntime
FROM report_hist
WHERE report_desc like 'Ad-Hoc - Report1' AND
((start_time IS NOT NULL) OR (stop_time IS NOT NULL))
ORDER BY 1 DESC

I'd appreciate if anyone can tell me if this can be done in a query.

Thanks.

Matt
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On