Commit ca72a42f authored by nsawalakhe's avatar nsawalakhe

Added sql for serdia Live/current E-Assessment dashboard report.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@103069 ce508802-f39f-4f6c-b175-0d175dae99d5
parent e13ade24
Please excecute below sql.
/*Dashboard Pages*/
Insert into Dashboard_pages
(USER_ID,
PAGE_ID,
TITLE,
URI,
IMAGE_URI,
PAGE_TYPE,
ENTITY_TYPE,
ENTITY_CODE,
CHG_USER,
CHG_TERM,
CHG_DATE)
values
(' ',
1,
null,
'/ibase/dwh/GwtDashboardPage.html?metadataname=activeevent',
null,
'T',
'U',
'85113332 ',
'Nikhil ',
'172.31.18.233',
to_date('10-JUN-15','DD-MON-RR'));
/*Dashboard_Comp*/
Insert into Dashboard_comp
(USER_ID,
PAGE_ID,
COMP_ID,
TITLE,
URI,
WIDTH,
HEIGHT,
ROW_NO,
COLUMN_NO,
COMP_TYPE,
COMP_NAME,
ENTITY_TYPE,
ENTITY_CODE)
values
(' ',
1,
1,
null,
'/ibase/dwh/GwtDashboardPage.html?metadataname=activeevent',
350,
0,
0,
1,
null,
null,
'U',
'85113332');
-------------------------------------------------------------------------------
--------------------------------Dashboard SQL-----------------------------------------------
1] select
st.survey_templ,
st.descr as active_event,
(SELECT LEN(SCOPE_VAL_DESCR) - LEN(REPLACE(SCOPE_VAL_DESCR, ',', ''))+1 AS No_Of_PARTICIPANTS
FROM HR.DBO.SCOPE_VALUE
WHERE SCOPE_CODE=(
SELECT MAX(SCOPE_CODE) FROM HR.DBO.survey_config_SCOPE
WHERE SURVEY_ID=(SELECT MAX(SURVEY_ID) FROM HR.DBO.survey_config
WHERE SURVEY_TEMPL=st.survey_templ))) AS No_Of_PARTICIPANTS,
CONVERT(VARCHAR(19),st.valid_upto,110) as exp_date
from hr.dbo.survey_config sc
inner join hr.dbo.survey_template st on st.survey_templ=sc.survey_templ
inner join hr.dbo.survey_config_appl scp on scp.survey_id=sc.survey_id
where scp.appl_entity='E'
and CONVERT(VARCHAR(19),GETDATE(),110) between st.eff_from and st.valid_upto
group by st.descr ,st.survey_templ,
st.valid_upto;
2]
select
code,
PARTICIPANTS_NAME,
result,
perce,
RANK() over (order by perce desc ) as rank
from
(
select
emp.code,
emp.firstname +' '+ emp.lastname as PARTICIPANTS_NAME,
SUM(CAST(srd.result as int)) as result,
COUNT(distinct srd.TRAN_ID) as count_m,
(SUM(CAST(srd.result as int))*100)/(
COUNT(distinct srd.TRAN_ID)*(select sum(result_range_max) from dbo.survey_master
where survey_code in (select survey_code
from dbo.survey_templ_det
where survey_templ='?'))
) as perce
from
dbo.SURVEY_CONFIG sc
inner join (select * from dbo.survey_config_appl
where appl_entity='E' )sca on sca.survey_id=sc.SURVEY_ID
inner join dbo.SURVEY_FORM sf on sf.SURVEY_ID=sc.SURVEY_ID
inner join dbo.SURVEY_RESULT sr on sr.tran_id__form=sf.tran_id
inner join dbo.SURVEY_RESULT_DET srd on srd.TRAN_ID=sr.TRAN_ID
inner join (select * from dbo.survey_result_appl
where appl_entity='E') sra on sra.TRAN_ID=srd.tran_id
inner join dbo.SCOPE_VALUE sv on sv.scope_code=sca.scope_code
inner join (SELECT SCOPE_CODE AS CODE,
LTRIM(RTRIM(m.n.value('.[1]','varchar(8000)'))) AS EMP_CODE
FROM
(
SELECT SCOPE_CODE,CAST('<XMLRoot><RowData>' + REPLACE(SCOPE_VAL_DESCR,',','</RowData><RowData>') + '</RowData></XMLRoot>' AS XML) AS x
FROM dbo.SCOPE_VALUE
)t
CROSS APPLY x.nodes('/XMLRoot/RowData')m(n))A on a.code=sv.scope_code and A.EMP_CODE=sra.ENTITY_CODE
inner join dbo.employee emp on emp.code=A.EMP_CODE
where SURVEY_TEMPL='?'
group by --srd.TRAN_ID,sra.TRAN_ID,
emp.code,
emp.firstname +' '+ emp.lastname,
sca.scope_code
)a
order by rank
;
3]
WITH
as_det (zone,region,team,emp_code,name,FIRSTNAME,MGR,nos,total)AS
(
SELECT
e.ZONECODE ZONE,
r.Name AS REGION,
e.teamcode TEAM,
e.code AS emp_code,
(e.FIRSTNAME +' '+ e.LASTNAME) NAME,
SUR.MGR,
emp.FIRSTNAME,
COUNT(SUR.MGR) NOS,
SUM(SUR.RESULT) TOTAL
FROM
dbo.employee e
INNER JOIN dbo.REGION r
ON
e.regionid = r.id
INNER JOIN
(
SELECT
APP.ENTITY_CODE EMP_CODE,
SRE.EMP_CODE MGR,
SUM(CAST(SRD.result AS INT)) RESULT
FROM
dbo.survey_result_EMP SRE
INNER JOIN dbo.survey_result SR
ON
SRE.TRAN_ID = SR.TRAN_ID__FORM
INNER JOIN
(
SELECT
code,
a,
b,
PARTICIPANTS_NAME,
result,
count_m
FROM
(
SELECT
emp.code,
srd.TRAN_ID AS a,
sra.TRAN_ID AS b,
emp.firstname +' '+ emp.lastname AS PARTICIPANTS_NAME,
SUM(CAST(srd.result AS INT)) AS result,
COUNT(DISTINCT srd.TRAN_ID) AS count_m
FROM
dbo.SURVEY_CONFIG sc
INNER JOIN
(
SELECT
*
FROM
dbo.survey_config_appl
WHERE
appl_entity='E'
)
sca
ON
sca.survey_id=sc.SURVEY_ID
INNER JOIN dbo.SURVEY_FORM sf
ON
sf.SURVEY_ID=sc.SURVEY_ID
INNER JOIN dbo.SURVEY_RESULT sr
ON
sr.tran_id__form=sf.tran_id
INNER JOIN dbo.SURVEY_RESULT_DET srd
ON
srd.TRAN_ID=sr.TRAN_ID
LEFT JOIN
(
SELECT
*
FROM
dbo.survey_result_appl
WHERE
appl_entity='E'
)
sra
ON
sra.TRAN_ID=srd.tran_id
INNER JOIN dbo.SCOPE_VALUE sv
ON
sv.scope_code=sca.scope_code
LEFT JOIN
(
SELECT
SCOPE_CODE AS CODE,
LTRIM(RTRIM(m.n.value('.[1]','varchar(8000)'))) AS
EMP_CODE
FROM
(
SELECT
SCOPE_CODE,
CAST('<XMLRoot><RowData>' + REPLACE(SCOPE_VAL_DESCR,
',','</RowData><RowData>') + '</RowData></XMLRoot>'
AS XML) AS x
FROM
dbo.SCOPE_VALUE
)
t CROSS APPLY x.nodes('/XMLRoot/RowData')m(n)
)
A
ON
a.code =sv.scope_code
AND A.EMP_CODE=sra.ENTITY_CODE
LEFT JOIN dbo.employee emp
ON
emp.code=A.EMP_CODE
WHERE
SURVEY_TEMPL='AT00000026'
GROUP BY
srd.TRAN_ID,
sra.TRAN_ID,
emp.code,
emp.firstname +' '+ emp.lastname,
sca.scope_code
)
a
)
SRD ON SR.TRAN_ID = SRD.B
INNER JOIN
(
SELECT
*
FROM
dbo.survey_result_appl
WHERE
APPL_ENTITY = 'E'
)
APP
ON
SRD.B = APP.TRAN_ID
GROUP BY
APP.ENTITY_CODE,
SRE.EMP_CODE
)
SUR ON e.code = SUR.EMP_CODE
INNER JOIN Employee emp
ON
emp.code=sur.mgr
WHERE
e.code='46'
GROUP BY
e.ZONECODE,
r.Name,
e.teamcode,
e.code,
SUR.MGR,
emp.FIRSTNAME,
(e.FIRSTNAME +' '+ e.LASTNAME)
)
,
as_det1 (code,prd_name,perc,report,resultcnt,total) AS
(
SELECT
CODE,
PRD_NAME,
PERC,
REPORT,
RESULTCNT,
TOTAL
FROM
(
SELECT
DET_PRD.CODE,
DET_PRD.NAME ,
DET_PRD.PRD_NAME,
RESULT,
TOTAL,
Str((RESULT * 100.0/TOTAL),4,1) AS PERC,
'Marks' AS REPORT,
(RESULT) AS RESULTCNT
FROM
(
SELECT
e.CODE,
SUM(SUR.RESULT) TOTAL
FROM
dbo.employee e
INNER JOIN dbo.REGION r
ON
e.regionid = r.id
INNER JOIN
(
SELECT
APP.ENTITY_CODE EMP_CODE,
SRE.EMP_CODE MGR,
SUM(CAST(SRD.result AS INT)) RESULT,
APPR.ENTITY_CODE PRD_CODE,
APPR.ENTITY_DESCR PRD_DESC
FROM
dbo.survey_result_EMP SRE
INNER JOIN dbo.survey_result SR
ON
SRE.TRAN_ID = SR.TRAN_ID__FORM
INNER JOIN
(
SELECT
code,
a,
b,
PARTICIPANTS_NAME,
result,
count_m
FROM
(
SELECT
emp.code,
srd.TRAN_ID AS a,
sra.TRAN_ID AS b,
emp.firstname +' '+ emp.lastname AS PARTICIPANTS_NAME
,
SUM(CAST(srd.result AS INT)) AS result,
COUNT(DISTINCT srd.TRAN_ID) AS count_m
FROM
dbo.SURVEY_CONFIG sc
INNER JOIN
(
SELECT
*
FROM
dbo.survey_config_appl
WHERE
appl_entity='E'
)
sca
ON
sca.survey_id=sc.SURVEY_ID
INNER JOIN dbo.SURVEY_FORM sf
ON
sf.SURVEY_ID=sc.SURVEY_ID
INNER JOIN dbo.SURVEY_RESULT sr
ON
sr.tran_id__form=sf.tran_id
INNER JOIN dbo.SURVEY_RESULT_DET srd
ON
srd.TRAN_ID=sr.TRAN_ID
LEFT JOIN
(
SELECT
*
FROM
dbo.survey_result_appl
WHERE
appl_entity='E'
)
sra
ON
sra.TRAN_ID=srd.tran_id
INNER JOIN dbo.SCOPE_VALUE sv
ON
sv.scope_code=sca.scope_code
LEFT JOIN
(
SELECT
SCOPE_CODE AS CODE,
LTRIM(RTRIM(m.n.value('.[1]','varchar(8000)')))
AS EMP_CODE
FROM
(
SELECT
SCOPE_CODE,
CAST('<XMLRoot><RowData>' + REPLACE(
SCOPE_VAL_DESCR,',','</RowData><RowData>') +
'</RowData></XMLRoot>' AS XML) AS x
FROM
dbo.SCOPE_VALUE
)
t CROSS APPLY x.nodes('/XMLRoot/RowData')m(n)
)
A
ON
a.code =sv.scope_code
AND A.EMP_CODE=sra.ENTITY_CODE
LEFT JOIN dbo.employee emp
ON
emp.code=A.EMP_CODE
WHERE
SURVEY_TEMPL='AT00000026'
GROUP BY
srd.TRAN_ID,
sra.TRAN_ID,
emp.code,
emp.firstname +' '+ emp.lastname,
sca.scope_code
)
a
)
SRD ON SR.TRAN_ID = SRD.b
INNER JOIN
(
SELECT
*
FROM
dbo.survey_result_appl
WHERE
APPL_ENTITY = 'E'
)
APP
ON
SRD.b = APP.TRAN_ID
INNER JOIN
(
SELECT
*
FROM
dbo.survey_result_appl
WHERE
APPL_ENTITY = 'I'
)
APPR
ON
SRD.b = APPR.TRAN_ID
GROUP BY
APP.ENTITY_CODE,
SRE.EMP_CODE,
APPR.ENTITY_CODE,
APPR.ENTITY_DESCR
)
SUR ON e.code = SUR.EMP_CODE
WHERE
e.code = '46'
GROUP BY
e.CODE
)
HDR
INNER JOIN
(
SELECT
(e.FIRSTNAME +' '+ e.LASTNAME) NAME,
APPR.ENTITY_DESCR AS PRD_NAME ,
SUM(CAST(SRD.result AS INT)) RESULT ,
e.code
FROM
dbo.survey_result_EMP SRE
INNER JOIN dbo.survey_result SR
ON
SRE.TRAN_ID = SR.TRAN_ID__FORM
INNER JOIN
(
SELECT
code,
a,
b,
SURVEY_CODE,
PARTICIPANTS_NAME,
result,
count_m
FROM
(
SELECT
emp.code,
srd.TRAN_ID AS a,
sra.TRAN_ID AS b,
srd.SURVEY_CODE,
emp.firstname +' '+ emp.lastname AS PARTICIPANTS_NAME,
SUM(CAST(srd.result AS INT)) AS result,
COUNT(DISTINCT srd.TRAN_ID) AS count_m
FROM
dbo.SURVEY_CONFIG sc
INNER JOIN
(
SELECT
*
FROM
dbo.survey_config_appl
WHERE
appl_entity='E'
)
sca
ON
sca.survey_id=sc.SURVEY_ID
INNER JOIN dbo.SURVEY_FORM sf
ON
sf.SURVEY_ID=sc.SURVEY_ID
INNER JOIN dbo.SURVEY_RESULT sr
ON
sr.tran_id__form=sf.tran_id
INNER JOIN dbo.SURVEY_RESULT_DET srd
ON
srd.TRAN_ID=sr.TRAN_ID
LEFT JOIN
(
SELECT
*
FROM
dbo.survey_result_appl
WHERE
appl_entity='E'
)
sra
ON
sra.TRAN_ID=srd.tran_id
INNER JOIN dbo.SCOPE_VALUE sv
ON
sv.scope_code=sca.scope_code
LEFT JOIN
(
SELECT
SCOPE_CODE AS CODE,
LTRIM(RTRIM(m.n.value('.[1]','varchar(8000)'))) AS
EMP_CODE
FROM
(
SELECT
SCOPE_CODE,
CAST('<XMLRoot><RowData>' + REPLACE(
SCOPE_VAL_DESCR,',','</RowData><RowData>') +
'</RowData></XMLRoot>' AS XML) AS x
FROM
dbo.SCOPE_VALUE
)
t CROSS APPLY x.nodes('/XMLRoot/RowData')m(n)
)
A
ON
a.code =sv.scope_code
AND A.EMP_CODE=sra.ENTITY_CODE
LEFT JOIN dbo.employee emp
ON
emp.code=A.EMP_CODE
WHERE
SURVEY_TEMPL='AT00000026'
GROUP BY
srd.TRAN_ID,
sra.TRAN_ID,
srd.SURVEY_CODE,
emp.code,
emp.firstname +' '+ emp.lastname,
sca.scope_code
)
a
)
SRD ON SR.TRAN_ID = SRD.b
INNER JOIN
(
SELECT
*
FROM
dbo.survey_result_appl
WHERE
APPL_ENTITY = 'E'
)
APP
ON
SRD.b = APP.TRAN_ID
INNER JOIN
(
SELECT
*
FROM
dbo.survey_result_appl
WHERE
APPL_ENTITY = 'I'
)
APPR
ON
SRD.b = APPR.TRAN_ID
INNER JOIN dbo.employee e
ON
APP.ENTITY_CODE = e.code
INNER JOIN dbo.survey_master sm
ON
SRD.SURVEY_CODE = sm.SURVEY_CODE
WHERE
APP.ENTITY_CODE = '46'
GROUP BY
(e.FIRSTNAME +' '+ e.LASTNAME) ,
APPR.ENTITY_DESCR ,
e.code
)
DET_PRD ON HDR.CODE = DET_PRD.CODE
)
X
WHERE
upper(report)='MARKS'
)
SELECT DISTINCT
as_det.*,
as_det1.*,
(select sum(result_range_max) as tot_marks from dbo.survey_master
where survey_code in (select survey_code
from dbo.survey_templ_det
where survey_templ='AT00000028')) as tot_marks
FROM
as_det
INNER JOIN as_det1
ON
as_det.emp_code=as_det1.code;
4]
SELECT RTRIM(LTRIM(upper(sm.DESCR))) as SURVEY , SUM(CAST(SRD.result AS INT)) RESULT
FROM dbo.survey_result_EMP SRE INNER JOIN dbo.survey_result SR ON SRE.TRAN_ID = SR.TRAN_ID__FORM
INNER JOIN dbo.survey_result_det SRD ON SR.TRAN_ID = SRD.TRAN_ID
INNER JOIN (SELECT * FROM dbo.survey_result_appl WHERE APPL_ENTITY = 'E') APP
ON SRD.TRAN_ID = APP.TRAN_ID INNER JOIN (SELECT * FROM dbo.survey_result_appl
WHERE APPL_ENTITY = 'I') APPR ON SRD.TRAN_ID = APPR.TRAN_ID INNER JOIN dbo.employee e
ON APP.ENTITY_CODE = e.code INNER JOIN dbo.survey_master sm ON SRD.SURVEY_CODE = sm.SURVEY_CODE
WHERE RTRIM(LTRIM(e.FIRSTNAME +' '+ e.LASTNAME)) = '?'
and RTRIM(LTRIM(APPR.ENTITY_DESCR)) ='?'
GROUP BY sm.DESCR,(e.FIRSTNAME +' '+ e.LASTNAME) ";
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment