Report for generating project details and its milestone details.

Report for generating project details and its milestone details.

Hi

The below query lets you to generate report about project details such as percentage of project completion , title , status , projected end and its milestone details such as title , description ,comments , owner , status , projected end , gantt color.

 First execute the query    select paramvalue from globalconfig where parameter like 'TaskCompletionStatus'   

If the param value is ' closed' use the first query
Else if the param value is ' completed' use the second query

First query

select pd.projectid , pd.projectcode "Project Code", pd.title "Project Title" , ps1.statusname "Project Status" , poc.popc "Percentage Of Completion" , longtodate(pd.projectedend) "Project ProjectedEnd", md.milestoneid , md.title "Milestone Title", mds.description "MileStone Description", mc.comment "MileStone Comments ", aau.first_name "MileStone Owner", longtodate(md.projectedend) "MileStone ProjectedEnd", ps2.statusname "MileStone Status", ps2.statuscolor from projectdetails pd
LEFT JOIN milestonedetails  md on md.projectid = pd.projectid
LEFT JOIN milestonedescription  mds on mds.milestoneid = md.milestoneid
LEFT JOIN milestonecomments  mc on mc.milestoneid = md.milestoneid
LEFT JOIN sduser sdu ON sdu.userid = md.ownerid
LEFT JOIN aaauser aau ON sdu.userid=aau.user_id
LEFT JOIN projectstatus  ps1 on ps1.statusid = pd.statusid
LEFT JOIN projectstatus  ps2 on ps2.statusid = md.statusid
LEFT JOIN (select ((c1*100) / c2) "popc",cc1.projectid "projectid" from (select count(*) c1 , top.projectid from taskdetails td 
JOIN tasktoprojects top on top.taskid = td.taskid
JOIN statusdefinition sd on sd.statusid = td.statusid
where sd.ispending = false and sd.statusname = 'closed'
group by top.projectid) cc1
JOIN (select count(*) c2 , top.projectid from taskdetails td 
JOIN tasktoprojects top on top.taskid = td.taskid
group by top.projectid) cc2
ON cc1.projectid = cc2.projectid) poc ON poc.projectid = pd.projectid
order by 1



Second query

select pd.projectid , pd.projectcode "Project Code", pd.title "Project Title" , ps1.statusname "Project Status" , poc.popc "Percentage Of Completion" , longtodate(pd.projectedend) "Project ProjectedEnd", md.milestoneid , md.title "Milestone Title", mds.description "MileStone Description", mc.comment "MileStone Comments ", aau.first_name "MileStone Owner", longtodate(md.projectedend) "MileStone ProjectedEnd", ps2.statusname "MileStone Status", ps2.statuscolor from projectdetails pd
LEFT JOIN milestonedetails  md on md.projectid = pd.projectid
LEFT JOIN milestonedescription  mds on mds.milestoneid = md.milestoneid
LEFT JOIN milestonecomments  mc on mc.milestoneid = md.milestoneid
LEFT JOIN sduser sdu ON sdu.userid = md.ownerid
LEFT JOIN aaauser aau ON sdu.userid=aau.user_id
LEFT JOIN projectstatus  ps1 on ps1.statusid = pd.statusid
LEFT JOIN projectstatus  ps2 on ps2.statusid = md.statusid
LEFT JOIN (select ((c1*100) / c2) "popc",cc1.projectid "projectid" from (select count(*) c1 , top.projectid from taskdetails td 
JOIN tasktoprojects top on top.taskid = td.taskid
JOIN statusdefinition sd on sd.statusid = td.statusid
where sd.ispending = false
group by top.projectid) cc1
JOIN (select count(*) c2 , top.projectid from taskdetails td 
JOIN tasktoprojects top on top.taskid = td.taskid
group by top.projectid) cc2
ON cc1.projectid = cc2.projectid) poc ON poc.projectid = pd.projectid
order by 1

regards,
Dhiyan,
SDP


                  New to ADSelfService Plus?