工作一年半---半年报表交接(二)
2013-05-14 21:34
225 查看
一:交叉表 格子内是平均值,格子的下方是 计算和
二:sql语句:
SELECT 'Requesting clinical services' AS TYPE,
F.FRM_NAME,
F.FRM_NUM,
F.FRM_NUM AS FORNUM,
NULL SITE_COD,
AVG(FLOOR(IR.RPT_RCV_DATETIME - R.RQST_DATETIME)) IRDAY,
C.SVC_NAME
FROM IVG_RQST R,
IVG_FRM F,
CLC_ENCNTR E,
COD_SVC C,
IVG_RPT IR
WHERE R.IVG_FRM_ID = F.IVG_FRM_ID
AND R.CLC_ENCNTR_ID = E.CLC_ENCNTR_ID
AND E.COD_SVC_ID = C.COD_SVC_ID
AND R.IVG_RQST_ID = IR.IVG_RQST_ID
and C.IS_ACTIVE=1
-- AND ((SELECT CASE
-- WHEN '{?Frequency}' = 'Yearly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = '{?Year}')
-- WHEN '{?Frequency}' = 'Monthly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = substr('{?Month}',1,4)
-- AND TO_CHAR(IR.RPT_RCV_DATETIME, 'MM') = substr('{?Month}',6,2)
--)
--
--WHEN '{?Frequency}' = 'Daily' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'yyyy-mm-dd') = TO_CHAR({?Date}, 'yyyy-mm-dd'))
--
--
--
--WHEN '{?Frequency}' = 'User Specified' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TRUNC(IR.RPT_RCV_DATETIME) BETWEEN
-- {?Start date} AND {?End date})
--
--
--
-- END CASE
-- FROM DUAL) = 1)
GROUP BY F.FRM_NAME, F.FRM_NUM, C.SVC_NAME
UNION ALL
SELECT 'Requesting clinics/units' AS TYPE,
F.FRM_NAME,
F.FRM_NUM,
F.FRM_NUM AS FORNUM,
C.SITE_COD,
AVG(FLOOR(IR.RPT_RCV_DATETIME - R.RQST_DATETIME)) AS IRDAY,
NULL SVC_NAME
FROM IVG_RQST R,
IVG_FRM F,
CLC_ENCNTR E,
ORG_SITE C,
IVG_RPT IR
WHERE R.IVG_FRM_ID = F.IVG_FRM_ID
AND R.CLC_ENCNTR_ID = E.CLC_ENCNTR_ID
AND E.ORG_SITE_ID = C.ORG_SITE_ID
AND R.IVG_RQST_ID = IR.IVG_RQST_ID
-- AND ((SELECT CASE
-- WHEN '{?Frequency}' = 'Yearly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = '{?Year}')
-- WHEN '{?Frequency}' = 'Monthly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = substr('{?Month}',1,4)
-- AND TO_CHAR(IR.RPT_RCV_DATETIME, 'MM') = substr('{?Month}',6,2)
--)
--
--WHEN '{?Frequency}' = 'Daily' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'yyyy-mm-dd') = TO_CHAR({?Date}, 'yyyy-mm-dd'))
--
--
--
--WHEN '{?Frequency}' = 'User Specified' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TRUNC(IR.RPT_RCV_DATETIME) BETWEEN
-- {?Start date} AND {?End date})
--
--
-- END CASE
-- FROM DUAL) = 1)
GROUP BY F.FRM_NAME, F.FRM_NUM, C.SITE_COD
UNION ALL
SELECT 'investigation request forms/disciplines' AS TYPE,
F.FRM_NAME,
F.FRM_NUM,
F.FRM_NUM as FORNUM,
NULL SITE_COD,
AVG(FLOOR(IR.RPT_RCV_DATETIME - R.RQST_DATETIME)) AS IRDAY,
NULL SVC_NAME
FROM IVG_RQST R, IVG_FRM F, IVG_RPT IR
WHERE R.IVG_FRM_ID = F.IVG_FRM_ID
AND R.IVG_RQST_ID = IR.IVG_RQST_ID
-- AND ((SELECT CASE
-- WHEN '{?Frequency}' = 'Yearly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = '{?Year}')
-- WHEN '{?Frequency}' = 'Monthly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = substr('{?Month}',1,4)
-- AND TO_CHAR(IR.RPT_RCV_DATETIME, 'MM') = substr('{?Month}',6,2)
--)
--
--WHEN '{?Frequency}' = 'Daily' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'yyyy-mm-dd') = TO_CHAR({?Date}, 'yyyy-mm-dd'))
--
--
--
--WHEN '{?Frequency}' = 'User Specified' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TRUNC(IR.RPT_RCV_DATETIME) BETWEEN
-- {?Start date} AND {?End date})
-- END CASE
-- FROM DUAL) = 1)
GROUP BY F.FRM_NAME, F.FRM_NUM
三:结果:
四:报表:
根据参数过滤记录:
根据参数 显示报表的某一部分:
五:公式:
把参数输入的 2012-12 处理为 DEC 2012
if(Split ({?Month},'-')[2]='01') then
'JAN' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='02') then
'FEB' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='03') then
'MAR' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='04') then
'APR' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='05') then
'MAY' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='06') then
'JUNE' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='07') then
'JULY' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='08') then
'AUG' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='09') then
'SEPT' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='10') then
'OCT' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='11') then
'NOV' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='12') then
'DEC' + " "+Split ({?Month},'-')[1]
二:sql语句:
SELECT 'Requesting clinical services' AS TYPE,
F.FRM_NAME,
F.FRM_NUM,
F.FRM_NUM AS FORNUM,
NULL SITE_COD,
AVG(FLOOR(IR.RPT_RCV_DATETIME - R.RQST_DATETIME)) IRDAY,
C.SVC_NAME
FROM IVG_RQST R,
IVG_FRM F,
CLC_ENCNTR E,
COD_SVC C,
IVG_RPT IR
WHERE R.IVG_FRM_ID = F.IVG_FRM_ID
AND R.CLC_ENCNTR_ID = E.CLC_ENCNTR_ID
AND E.COD_SVC_ID = C.COD_SVC_ID
AND R.IVG_RQST_ID = IR.IVG_RQST_ID
and C.IS_ACTIVE=1
-- AND ((SELECT CASE
-- WHEN '{?Frequency}' = 'Yearly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = '{?Year}')
-- WHEN '{?Frequency}' = 'Monthly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = substr('{?Month}',1,4)
-- AND TO_CHAR(IR.RPT_RCV_DATETIME, 'MM') = substr('{?Month}',6,2)
--)
--
--WHEN '{?Frequency}' = 'Daily' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'yyyy-mm-dd') = TO_CHAR({?Date}, 'yyyy-mm-dd'))
--
--
--
--WHEN '{?Frequency}' = 'User Specified' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TRUNC(IR.RPT_RCV_DATETIME) BETWEEN
-- {?Start date} AND {?End date})
--
--
--
-- END CASE
-- FROM DUAL) = 1)
GROUP BY F.FRM_NAME, F.FRM_NUM, C.SVC_NAME
UNION ALL
SELECT 'Requesting clinics/units' AS TYPE,
F.FRM_NAME,
F.FRM_NUM,
F.FRM_NUM AS FORNUM,
C.SITE_COD,
AVG(FLOOR(IR.RPT_RCV_DATETIME - R.RQST_DATETIME)) AS IRDAY,
NULL SVC_NAME
FROM IVG_RQST R,
IVG_FRM F,
CLC_ENCNTR E,
ORG_SITE C,
IVG_RPT IR
WHERE R.IVG_FRM_ID = F.IVG_FRM_ID
AND R.CLC_ENCNTR_ID = E.CLC_ENCNTR_ID
AND E.ORG_SITE_ID = C.ORG_SITE_ID
AND R.IVG_RQST_ID = IR.IVG_RQST_ID
-- AND ((SELECT CASE
-- WHEN '{?Frequency}' = 'Yearly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = '{?Year}')
-- WHEN '{?Frequency}' = 'Monthly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = substr('{?Month}',1,4)
-- AND TO_CHAR(IR.RPT_RCV_DATETIME, 'MM') = substr('{?Month}',6,2)
--)
--
--WHEN '{?Frequency}' = 'Daily' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'yyyy-mm-dd') = TO_CHAR({?Date}, 'yyyy-mm-dd'))
--
--
--
--WHEN '{?Frequency}' = 'User Specified' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TRUNC(IR.RPT_RCV_DATETIME) BETWEEN
-- {?Start date} AND {?End date})
--
--
-- END CASE
-- FROM DUAL) = 1)
GROUP BY F.FRM_NAME, F.FRM_NUM, C.SITE_COD
UNION ALL
SELECT 'investigation request forms/disciplines' AS TYPE,
F.FRM_NAME,
F.FRM_NUM,
F.FRM_NUM as FORNUM,
NULL SITE_COD,
AVG(FLOOR(IR.RPT_RCV_DATETIME - R.RQST_DATETIME)) AS IRDAY,
NULL SVC_NAME
FROM IVG_RQST R, IVG_FRM F, IVG_RPT IR
WHERE R.IVG_FRM_ID = F.IVG_FRM_ID
AND R.IVG_RQST_ID = IR.IVG_RQST_ID
-- AND ((SELECT CASE
-- WHEN '{?Frequency}' = 'Yearly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = '{?Year}')
-- WHEN '{?Frequency}' = 'Monthly' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'YYYY') = substr('{?Month}',1,4)
-- AND TO_CHAR(IR.RPT_RCV_DATETIME, 'MM') = substr('{?Month}',6,2)
--)
--
--WHEN '{?Frequency}' = 'Daily' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TO_CHAR(IR.RPT_RCV_DATETIME, 'yyyy-mm-dd') = TO_CHAR({?Date}, 'yyyy-mm-dd'))
--
--
--
--WHEN '{?Frequency}' = 'User Specified' THEN
-- (SELECT 1
-- FROM DUAL
-- WHERE TRUNC(IR.RPT_RCV_DATETIME) BETWEEN
-- {?Start date} AND {?End date})
-- END CASE
-- FROM DUAL) = 1)
GROUP BY F.FRM_NAME, F.FRM_NUM
三:结果:
四:报表:
根据参数过滤记录:
根据参数 显示报表的某一部分:
五:公式:
把参数输入的 2012-12 处理为 DEC 2012
if(Split ({?Month},'-')[2]='01') then
'JAN' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='02') then
'FEB' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='03') then
'MAR' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='04') then
'APR' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='05') then
'MAY' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='06') then
'JUNE' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='07') then
'JULY' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='08') then
'AUG' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='09') then
'SEPT' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='10') then
'OCT' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='11') then
'NOV' + " "+Split ({?Month},'-')[1]
else if(Split ({?Month},'-')[2]='12') then
'DEC' + " "+Split ({?Month},'-')[1]
相关文章推荐
- 9月份还不到30岁,你就有机会去新西兰工作一年 · 出国新信息 · 2013-07-23 ,南都网,数字报,电子报,南方都市报
- 今天大年二九,换工作快一年了
- 毕业了,工作却快一年了
- 工作快一年了
- 学习一个工作交接的邮件
- 工作一年的一些感想
- 马上工作要一年了
- Dynamics 365Online 开发基于fetchxml报表的准备工作
- [投稿]一年工作总结 (单进程网游服务器框架介绍)
- 写于工作一年之际
- 工作一年的状态与总结
- 我工作的大半年总结
- 小结一篇-(秀我工作一年)
- 工作半年后的思考——未来的路在哪?
- 半年it工作有感
- 工作一年,面试受挫,反省....
- 工作一年之结语
- 工作的一年
- 交接线损工作日志
- 11月工作小结(统计分析报表的一些心得体会)