2024-10-25 15:13:36 +08:00
|
|
|
|
-- ======================================
|
|
|
|
|
-- HR组织机构
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
WITH one_department AS(
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
id
|
|
|
|
|
,subcompanyname
|
|
|
|
|
FROM ods_hr_hrmsubcompany_d
|
|
|
|
|
WHERE tlevel = '1'
|
|
|
|
|
),
|
|
|
|
|
sec_department AS
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
b.id AS one_department_code
|
|
|
|
|
,b.subcompanyname AS one_department_name
|
|
|
|
|
,a.id AS sec_department_code
|
|
|
|
|
,a.subcompanyname AS sec_department_name
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
id
|
|
|
|
|
,subcompanyname
|
|
|
|
|
,supsubcomid
|
|
|
|
|
FROM ods_hr_hrmsubcompany_d
|
|
|
|
|
WHERE tlevel = '2'
|
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN one_department B
|
|
|
|
|
ON A.supsubcomid = B.id
|
|
|
|
|
),
|
|
|
|
|
third_department AS
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
b.one_department_code AS one_department_code
|
|
|
|
|
,b.one_department_name AS one_department_name
|
|
|
|
|
,b.sec_department_code AS sec_department_code
|
|
|
|
|
,b.sec_department_name AS sec_department_name
|
|
|
|
|
,a.id AS third_department_code
|
|
|
|
|
,a.subcompanyname AS third_department_name
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
id
|
|
|
|
|
,subcompanyname
|
|
|
|
|
,supsubcomid
|
|
|
|
|
FROM ods_hr_hrmsubcompany_d
|
|
|
|
|
WHERE tlevel = '3'
|
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN sec_department B
|
|
|
|
|
ON A.supsubcomid = B.sec_department_code
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
one_department_code
|
|
|
|
|
,one_department_name
|
|
|
|
|
,sec_department_code
|
|
|
|
|
,sec_department_name
|
|
|
|
|
,third_department_code
|
|
|
|
|
,third_department_name
|
|
|
|
|
FROM third_department
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- report_指标卡_在职人数
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
SUM(zzs) AS SL
|
2024-10-25 15:13:36 +08:00
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
pq -- 片区
|
|
|
|
|
,xm -- 项目
|
|
|
|
|
,zzs -- 在职人数
|
|
|
|
|
FROM ods_hr_view_mbl_d -- 在职与编制人数
|
|
|
|
|
WHERE left(rq,7) = '${p_ym}'
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)A
|
2024-10-25 18:05:24 +08:00
|
|
|
|
LEFT JOIN
|
2024-10-25 15:13:36 +08:00
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
2024-10-29 16:54:07 +08:00
|
|
|
|
FROM dim_organ_mapping
|
2024-10-25 18:05:24 +08:00
|
|
|
|
GROUP BY
|
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
2024-10-29 16:54:07 +08:00
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT
|
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)B
|
2024-10-25 18:05:24 +08:00
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
|
and A.xm = b.hr_comm_id
|
|
|
|
|
where 1 = 1
|
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 指标卡_离职人数
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
SUM(lzrs) AS SL
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
pq -- 片区
|
|
|
|
|
,xm -- 项目
|
|
|
|
|
,lzrs -- 离职人数
|
|
|
|
|
,concat(nd,'-',yd) AS YM -- 年月
|
2024-10-25 15:13:36 +08:00
|
|
|
|
FROM ods_hr_view_lzrs_d -- 离职人数
|
2024-10-25 18:05:24 +08:00
|
|
|
|
WHERE left(rq,7) = '${p_ym}'
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)A
|
2024-10-25 18:05:24 +08:00
|
|
|
|
LEFT JOIN
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-29 16:54:07 +08:00
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
|
|
|
|
FROM dim_organ_mapping
|
|
|
|
|
GROUP BY
|
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT
|
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)B
|
2024-10-25 18:05:24 +08:00
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
|
and A.xm = B.hr_comm_id
|
|
|
|
|
where 1 = 1
|
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 指标卡_人力成本
|
|
|
|
|
-- ======================================
|
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
sum(total_fee) AS total_fee
|
|
|
|
|
from dw.dws_cost_lc_summary_d -- 人力成本实际值
|
|
|
|
|
WHERE fee_type = '实际值'
|
|
|
|
|
AND concat(yearname,'-',monthname) = '${p_ym}'
|
|
|
|
|
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 指标卡_行政成本
|
|
|
|
|
-- ======================================
|
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
sum(total_fee) AS total_fee
|
|
|
|
|
FROM dw.dws_cost_ac_summary_d -- 费控行政成本实际值
|
|
|
|
|
WHERE fee_type = '实际值'
|
|
|
|
|
AND concat(yearname,'-',monthname) = '${p_ym}'
|
|
|
|
|
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 员工满编率柱状图
|
|
|
|
|
-- ======================================
|
2024-10-25 18:05:24 +08:00
|
|
|
|
|
2024-10-25 15:13:36 +08:00
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
A.yd AS yd -- 月度
|
|
|
|
|
,A.pq AS pq -- 片区
|
|
|
|
|
,A.xm AS xm -- 项目
|
|
|
|
|
,A.zzs AS zzs -- 在职数
|
|
|
|
|
,A.bzs AS bzs -- 编制数
|
2024-10-29 16:54:07 +08:00
|
|
|
|
,CASE WHEN A.bzs = 0 THEN 0
|
|
|
|
|
ELSE A.zzs / A.bzs END AS rate -- 满编率
|
2024-10-25 18:05:24 +08:00
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
|
|
|
|
|
yd -- 月度
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,pq -- 片区
|
|
|
|
|
,xm -- 项目
|
|
|
|
|
,zzs -- 在职数
|
|
|
|
|
,bzs -- 编制数
|
2024-10-25 18:05:24 +08:00
|
|
|
|
FROM ods_hr_view_mbl_d
|
2024-10-29 16:54:07 +08:00
|
|
|
|
where nd = left('${p_ym}',4)
|
2024-10-25 18:05:24 +08:00
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(
|
2024-10-29 16:54:07 +08:00
|
|
|
|
SELECT
|
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
|
|
|
|
FROM dim_organ_mapping
|
|
|
|
|
GROUP BY
|
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT
|
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
2024-10-25 18:05:24 +08:00
|
|
|
|
)B
|
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
|
and A.xm = b.hr_comm_id
|
|
|
|
|
where 1 = 1
|
2024-10-29 16:54:07 +08:00
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 员工满编率排名
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
2024-10-26 23:41:12 +08:00
|
|
|
|
-- 注意 目前会有空的排名 是因为佳美物业未做映射
|
2024-10-25 18:05:24 +08:00
|
|
|
|
|
2024-10-25 15:13:36 +08:00
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
T1.organ_comm AS organ_comm
|
|
|
|
|
,ROW_NUMBER() OVER(ORDER BY T1.RATE DESC) 排名
|
|
|
|
|
,T1.rate
|
|
|
|
|
,'0' AS target_rate
|
2024-10-25 15:13:36 +08:00
|
|
|
|
FROM
|
2024-10-25 18:05:24 +08:00
|
|
|
|
(
|
2024-10-25 15:13:36 +08:00
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
${IF(LEN(p_area)>0,"B.hr_comm_name", "B.hr_organ_name")} AS organ_comm
|
2024-10-29 16:54:07 +08:00
|
|
|
|
,CASE WHEN SUM(bzs) = 0 THEN 0 ELSE SUM(zzs) / SUM(bzs) END AS RATE
|
2024-10-25 15:13:36 +08:00
|
|
|
|
FROM
|
2024-10-25 18:05:24 +08:00
|
|
|
|
(
|
2024-10-25 15:13:36 +08:00
|
|
|
|
SELECT
|
|
|
|
|
pq -- 片区
|
|
|
|
|
,xm -- 项目
|
|
|
|
|
,zzs -- 在职数
|
|
|
|
|
,bzs -- 编制数
|
2024-10-29 16:54:07 +08:00
|
|
|
|
,rq -- 日期
|
2024-10-25 15:13:36 +08:00
|
|
|
|
FROM ods_hr_view_mbl_d
|
2024-10-29 16:54:07 +08:00
|
|
|
|
WHERE rq = '${p_ym}'
|
2024-10-25 18:05:24 +08:00
|
|
|
|
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
|
2024-10-29 16:54:07 +08:00
|
|
|
|
AND pq NOT IN ('89','267') -- 这里剔除了佳美物业公司/悦汇发展公司
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)A
|
2024-10-25 18:05:24 +08:00
|
|
|
|
LEFT JOIN
|
2024-10-25 15:13:36 +08:00
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-29 16:54:07 +08:00
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
|
|
|
|
FROM dim_organ_mapping
|
2024-10-25 18:05:24 +08:00
|
|
|
|
GROUP BY
|
2024-10-29 16:54:07 +08:00
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT
|
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)B
|
2024-10-25 18:05:24 +08:00
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
|
and A.xm = B.hr_comm_id
|
2024-10-29 16:54:07 +08:00
|
|
|
|
WHERE 1=1
|
2024-10-25 18:05:24 +08:00
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
|
|
|
|
|
|
|
|
|
GROUP BY ${IF(LEN(p_area)>0,"B.hr_comm_name", "B.hr_organ_name")}
|
|
|
|
|
)T1
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 员工离职原因占比
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
A.lzlx AS lzlx -- 离职类型id
|
|
|
|
|
,A.lzlxname AS lzlxname -- 离职类型名称
|
|
|
|
|
,A.lzyy AS lzyy -- 离职原因id
|
|
|
|
|
,A.lzyyname AS lzyyname -- 离职原因名称
|
|
|
|
|
,A.lzrs AS lzrs -- 离职人数
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
pq -- 片区
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,xm -- 项目
|
|
|
|
|
,lzlx -- 离职类型id
|
|
|
|
|
,lzlxname -- 离职类型名称
|
|
|
|
|
,lzyy -- 离职原因id
|
|
|
|
|
,lzyyname -- 离职原因名称
|
|
|
|
|
,lzrs -- 离职人数
|
2024-10-25 18:05:24 +08:00
|
|
|
|
FROM ods_hr_view_lzrs_fl_d
|
|
|
|
|
WHERE LEFT(rq,7) = '${p_ym}'
|
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-29 16:54:07 +08:00
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
|
|
|
|
FROM dim_organ_mapping
|
2024-10-25 18:05:24 +08:00
|
|
|
|
GROUP BY
|
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
2024-10-29 16:54:07 +08:00
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT
|
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
2024-10-25 18:05:24 +08:00
|
|
|
|
)B
|
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
|
and A.xm = B.hr_comm_id
|
|
|
|
|
where 1 = 1
|
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 人力行政成本费率柱状图
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
${if(p_type='人力',"","/*")}
|
|
|
|
|
SELECT
|
|
|
|
|
T1.yr_month AS yr_month
|
|
|
|
|
,'人力成本' AS name
|
|
|
|
|
,'人力成本费率' AS name_rate
|
|
|
|
|
,RIGHT(T1.yr_month,2) AS MONTHS
|
|
|
|
|
,T1.actual_cost AS actual_cost -- 人力成本
|
|
|
|
|
,T1.index_income_fact AS index_income_fact -- 实际收入
|
|
|
|
|
,T1.actual_cost / T1.index_income_fact AS FEE_RATE -- 费率
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
A.yr_month AS yr_month
|
|
|
|
|
,A.actual_cost
|
|
|
|
|
,b.index_income_fact AS index_income_fact
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
-- 费控人力成本科目汇总表
|
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,CONCAT(yearname,'-',monthname) AS yr_month
|
|
|
|
|
,SUM(CASE WHEN fee_type IN('实际值','目标值') THEN total_fee ELSE 0 END) / 10000 AS actual_cost -- 人力成本
|
|
|
|
|
from dw.dws_cost_ac_summary_d
|
|
|
|
|
WHERE yearname = left('${p_ym}',4)
|
|
|
|
|
AND CONCAT(yearname,'-',monthname) < '${p_ym}'
|
2024-10-25 18:05:24 +08:00
|
|
|
|
GROUP BY CONCAT(yearname,'-',monthname),organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(-- 公司实际收入
|
|
|
|
|
SELECT
|
|
|
|
|
yr_month
|
2024-10-25 18:05:24 +08:00
|
|
|
|
,organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
|
|
|
|
FROM ods_caiwu_feecollection
|
|
|
|
|
WHERE category = '物业'
|
|
|
|
|
AND LEFT(yr_month,4) = left('${p_ym}',4)
|
2024-10-25 18:05:24 +08:00
|
|
|
|
GROUP BY yr_month,organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)B
|
|
|
|
|
ON A.yr_month = B.yr_month
|
2024-10-25 18:05:24 +08:00
|
|
|
|
AND A.organ_code = B.organ_code
|
|
|
|
|
WHERE 1 = 1
|
|
|
|
|
${IF(LEN(p_area)>0," AND A.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)T1
|
|
|
|
|
ORDER BY T1.yr_month
|
|
|
|
|
${if(p_type='人力',"","*/")}
|
|
|
|
|
|
|
|
|
|
${if(p_type='行政',"","/*")}
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
T1.yr_month AS yr_month
|
|
|
|
|
,'行政成本' AS name
|
|
|
|
|
,'行政成本费率' AS name_rate
|
|
|
|
|
,RIGHT(T1.yr_month,2) AS MONTHS
|
|
|
|
|
,T1.actual_cost AS actual_cost -- 人力成本
|
|
|
|
|
,T1.index_income_fact AS index_income_fact -- 实际收入
|
|
|
|
|
,T1.actual_cost / T1.index_income_fact AS FEE_RATE -- 费率
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
A.yr_month AS yr_month
|
|
|
|
|
,A.actual_cost AS actual_cost -- 人力成本
|
|
|
|
|
,B.index_income_fact AS index_income_fact -- 实际收入
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
-- 费控人力成本科目汇总表
|
|
|
|
|
SELECT
|
2024-10-25 18:05:24 +08:00
|
|
|
|
organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,CONCAT(yearname, '-', monthname) AS yr_month
|
|
|
|
|
,SUM(CASE WHEN fee_type IN ('实际值', '目标值') THEN total_fee ELSE 0 END) / 10000 AS actual_cost -- 人力成本
|
|
|
|
|
FROM dw.dws_cost_lc_summary_d
|
|
|
|
|
WHERE yearname = LEFT('${p_ym}', 4)
|
|
|
|
|
AND CONCAT(yearname, '-', monthname) < '${p_ym}'
|
2024-10-25 18:05:24 +08:00
|
|
|
|
GROUP BY CONCAT(yearname, '-', monthname),organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
) A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(-- 公司实际收入
|
|
|
|
|
SELECT
|
|
|
|
|
yr_month
|
2024-10-25 18:05:24 +08:00
|
|
|
|
,organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
, SUM(index_income_fact) AS index_income_fact -- 实际收入
|
|
|
|
|
FROM ods_caiwu_feecollection
|
|
|
|
|
WHERE category = '物业'
|
|
|
|
|
AND LEFT(yr_month, 4) = LEFT('${p_ym}', 4)
|
2024-10-25 18:05:24 +08:00
|
|
|
|
GROUP BY yr_month,organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)B
|
|
|
|
|
ON A.yr_month = B.yr_month
|
2024-10-25 18:05:24 +08:00
|
|
|
|
AND A.organ_code = B.organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
WHERE 1=1
|
2024-10-25 18:05:24 +08:00
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
|
|
|
|
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)T1
|
|
|
|
|
ORDER BY T1.yr_month
|
|
|
|
|
${if(p_type='行政',"","*/")}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 人力行政成本费率排名
|
|
|
|
|
-- ======================================
|
2024-10-26 23:41:12 +08:00
|
|
|
|
-- 这里无法筛选片区时展示对应片区下项目费率的排名
|
|
|
|
|
-- 原因: 费控成本均在各片区智能下,普通项目没有费用,可使用如下sql查询:
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
SELECT
|
|
|
|
|
A.organ_comm_name AS organ_comm_name
|
|
|
|
|
,A.actual_cost AS actual_cost -- 成本
|
|
|
|
|
,B.index_income_fact AS index_income_fact -- 实际收入
|
|
|
|
|
,ROW_NUMBER() OVER (ORDER BY A.actual_cost / B.index_income_fact DESC ) AS 排名 -- 费率排名
|
|
|
|
|
,A.actual_cost / B.index_income_fact AS fee_rate -- 费率
|
|
|
|
|
,A.budget_actual_cost / B.index_income_target AS target_fee_rate -- 费率目标
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
-- 费控人力成本科目汇总表
|
|
|
|
|
SELECT
|
|
|
|
|
A2.comm_name AS organ_comm_name
|
|
|
|
|
,A2.comm_id AS organ_comm_code
|
|
|
|
|
,A2.cost_comm_name AS cost_comm_name
|
|
|
|
|
,SUM(CASE WHEN fee_type IN('实际值','目标值') THEN total_fee ELSE 0 END) / 10000 AS actual_cost -- 人力成本
|
|
|
|
|
,SUM(CASE WHEN fee_type = '目标值' THEN total_fee ELSE 0 END) / 10000 AS budget_actual_cost -- 人力成本预算值
|
|
|
|
|
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
*
|
|
|
|
|
FROM dw.dws_cost_ac_summary_d
|
|
|
|
|
WHERE CONCAT(yearname,'-',monthname) = '2024-09'
|
|
|
|
|
)A1
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
organ_code -- erp片区编码
|
|
|
|
|
,organ_name -- erp片区名称
|
|
|
|
|
,comm_id
|
|
|
|
|
,comm_name
|
|
|
|
|
,cost_comm_id -- 费控项目id
|
|
|
|
|
,cost_comm_name -- 费控项目名称
|
|
|
|
|
FROM dim_organ_mapping_kunan_tmp
|
|
|
|
|
GROUP BY
|
|
|
|
|
organ_code -- erp片区编码
|
|
|
|
|
,organ_name -- erp片区名称
|
|
|
|
|
,comm_id
|
|
|
|
|
,comm_name
|
|
|
|
|
,cost_comm_id -- 费控项目id
|
|
|
|
|
,cost_comm_name -- 费控项目名称
|
|
|
|
|
)A2
|
|
|
|
|
ON A1.organ_code = A2.organ_code
|
|
|
|
|
AND A1.dimsubjectcode = A2.cost_comm_id
|
|
|
|
|
WHERE 1=1
|
|
|
|
|
-- AND A2.organ_code IN ('0102')
|
|
|
|
|
GROUP BY
|
|
|
|
|
A2.comm_name
|
|
|
|
|
,A2.comm_id
|
|
|
|
|
,A2.cost_comm_name
|
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(-- 公司实际收入
|
|
|
|
|
SELECT
|
|
|
|
|
comm_name AS organ_comm_name
|
|
|
|
|
,comm_id AS organ_comm_code
|
|
|
|
|
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
|
|
|
|
,SUM(index_income_target) AS index_income_target -- 收入目标
|
|
|
|
|
FROM ods_caiwu_feecollection
|
|
|
|
|
WHERE category = '物业'
|
|
|
|
|
AND yr_month = '2024-09'
|
|
|
|
|
GROUP BY
|
|
|
|
|
comm_name
|
|
|
|
|
,comm_id
|
|
|
|
|
)B
|
|
|
|
|
ON A.organ_comm_code = B.organ_comm_code
|
|
|
|
|
*/
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
${if(p_type='人力',"","/*")}
|
|
|
|
|
|
|
|
|
|
SELECT
|
2024-10-26 23:41:12 +08:00
|
|
|
|
A.organ_name AS organ_comm_name
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,A.actual_cost AS actual_cost -- 成本
|
|
|
|
|
,B.index_income_fact AS index_income_fact -- 实际收入
|
|
|
|
|
,ROW_NUMBER() OVER (ORDER BY A.actual_cost / B.index_income_fact DESC ) AS 排名 -- 费率排名
|
|
|
|
|
,A.actual_cost / B.index_income_fact AS fee_rate -- 费率
|
|
|
|
|
,A.budget_actual_cost / B.index_income_target AS target_fee_rate -- 费率目标
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
-- 费控人力成本科目汇总表
|
|
|
|
|
SELECT
|
2024-10-26 23:41:12 +08:00
|
|
|
|
A1.organ_code
|
|
|
|
|
,A1.organ_name
|
|
|
|
|
-- ${IF(LEN(p_area)>0,"dimsubjectname", "organ_name")} AS organ_comm_name
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,SUM(CASE WHEN fee_type IN('实际值','目标值') THEN total_fee ELSE 0 END) / 10000 AS actual_cost -- 人力成本
|
2024-10-26 23:41:12 +08:00
|
|
|
|
,SUM(CASE WHEN fee_type = '目标值' THEN total_fee ELSE 0 END) / 10000 AS budget_actual_cost -- 人力成本预算值
|
2024-10-25 15:13:36 +08:00
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
*
|
2024-10-26 23:41:12 +08:00
|
|
|
|
FROM dw.dws_cost_ac_summary_d -- 费控人力成本科目汇总表
|
|
|
|
|
WHERE CONCAT(yearname,'-',monthname) = '${LEFT(MONTHDELTA(p_ym,-1),7)}' -- 取上月数据
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)A1
|
2024-10-26 23:41:12 +08:00
|
|
|
|
LEFT JOIN
|
2024-10-25 15:13:36 +08:00
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-26 23:41:12 +08:00
|
|
|
|
organ_code -- erp片区编码
|
|
|
|
|
,organ_name -- erp片区名称
|
|
|
|
|
,cost_comm_id
|
|
|
|
|
,cost_comm_name
|
|
|
|
|
FROM dim_organ_mapping_kunan_tmp
|
2024-10-25 15:13:36 +08:00
|
|
|
|
GROUP BY
|
2024-10-26 23:41:12 +08:00
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,cost_comm_id
|
|
|
|
|
,cost_comm_name
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)A2
|
2024-10-26 23:41:12 +08:00
|
|
|
|
ON A1.organ_code = A2.organ_code
|
|
|
|
|
-- AND A1.dimsubjectcode = A2.cost_comm_id
|
2024-10-25 15:13:36 +08:00
|
|
|
|
WHERE 1=1
|
2024-10-26 23:41:12 +08:00
|
|
|
|
-- ${IF(LEN(p_area)>0," AND A2.id IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
GROUP BY
|
2024-10-26 23:41:12 +08:00
|
|
|
|
A1.organ_code
|
|
|
|
|
,A1.organ_name
|
|
|
|
|
-- ${IF(LEN(p_area)>0,"dimsubjectname", "organ_name")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(-- 公司实际收入
|
|
|
|
|
SELECT
|
2024-10-26 23:41:12 +08:00
|
|
|
|
-- ${IF(LEN(p_area)>0,"comm_name", "organ_name")} AS organ_comm_name
|
|
|
|
|
organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
|
|
|
|
,SUM(index_income_target) AS index_income_target -- 收入目标
|
|
|
|
|
FROM ods_caiwu_feecollection
|
|
|
|
|
WHERE category = '物业'
|
|
|
|
|
AND yr_month = '${LEFT(MONTHDELTA(p_ym,-1),7)}'
|
|
|
|
|
GROUP BY
|
2024-10-26 23:41:12 +08:00
|
|
|
|
-- ${IF(LEN(p_area)>0,"comm_name", "organ_name")}
|
|
|
|
|
organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)B
|
2024-10-26 23:41:12 +08:00
|
|
|
|
ON A.organ_code = B.organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
|
|
|
|
${if(p_type='人力',"","*/")}
|
|
|
|
|
|
|
|
|
|
${if(p_type='行政',"","/*")}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT
|
2024-10-26 23:41:12 +08:00
|
|
|
|
A.organ_name AS organ_comm_name
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,A.actual_cost AS actual_cost -- 成本
|
|
|
|
|
,B.index_income_fact AS index_income_fact -- 实际收入
|
|
|
|
|
,ROW_NUMBER() OVER (ORDER BY A.actual_cost / B.index_income_fact DESC ) AS 排名 -- 费率排名
|
|
|
|
|
,A.actual_cost / B.index_income_fact AS fee_rate -- 费率
|
|
|
|
|
,A.budget_actual_cost / B.index_income_target AS target_fee_rate -- 费率目标
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
-- 费控人力成本科目汇总表
|
|
|
|
|
SELECT
|
2024-10-26 23:41:12 +08:00
|
|
|
|
-- ${IF(LEN(p_area)>0,"A2.comm_name", "A1.organ_name")} AS organ_comm_name
|
|
|
|
|
-- ${IF(LEN(p_area)>0,",A2.comm_id", ",A1.organ_code")} AS organ_comm_code
|
|
|
|
|
A1.organ_code
|
|
|
|
|
,A1.organ_name
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,SUM(CASE WHEN fee_type IN('实际值','目标值') THEN total_fee ELSE 0 END) / 10000 AS actual_cost -- 人力成本
|
|
|
|
|
,SUM(CASE WHEN fee_type = '目标值' THEN total_fee ELSE 0 END) / 10000 AS budget_actual_cost -- 人力成本预算值
|
|
|
|
|
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
*
|
|
|
|
|
FROM dw.dws_cost_lc_summary_d
|
|
|
|
|
WHERE CONCAT(yearname,'-',monthname) = '${LEFT(MONTHDELTA(p_ym,-1),7)}'
|
|
|
|
|
)A1
|
2024-10-26 23:41:12 +08:00
|
|
|
|
LEFT JOIN
|
2024-10-25 15:13:36 +08:00
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-26 23:41:12 +08:00
|
|
|
|
organ_code -- erp片区编码
|
|
|
|
|
,organ_name -- erp片区名称
|
|
|
|
|
,comm_id
|
|
|
|
|
,comm_name
|
|
|
|
|
,cost_comm_id
|
|
|
|
|
,cost_comm_name
|
|
|
|
|
FROM dim_organ_mapping_kunan_tmp
|
2024-10-25 15:13:36 +08:00
|
|
|
|
GROUP BY
|
2024-10-26 23:41:12 +08:00
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,comm_id
|
|
|
|
|
,comm_name
|
|
|
|
|
,cost_comm_id
|
|
|
|
|
,cost_comm_name
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)A2
|
2024-10-26 23:41:12 +08:00
|
|
|
|
ON A1.organ_code = A2.organ_code
|
|
|
|
|
-- AND A1.dimsubjectcode = A2.cost_comm_id
|
2024-10-25 15:13:36 +08:00
|
|
|
|
WHERE 1=1
|
2024-10-26 23:41:12 +08:00
|
|
|
|
-- ${IF(LEN(p_area)>0," AND A2.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
GROUP BY
|
2024-10-26 23:41:12 +08:00
|
|
|
|
A1.organ_code
|
|
|
|
|
,A1.organ_name
|
|
|
|
|
-- ${IF(LEN(p_area)>0,"A2.comm_name", "A1.organ_name")}
|
|
|
|
|
-- ${IF(LEN(p_area)>0,",A2.comm_id", ",A1.organ_code")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(-- 公司实际收入
|
|
|
|
|
SELECT
|
2024-10-26 23:41:12 +08:00
|
|
|
|
-- ${IF(LEN(p_area)>0,"comm_id", "organ_code")} AS organ_comm_code
|
|
|
|
|
organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
|
|
|
|
,SUM(index_income_target) AS index_income_target -- 收入目标
|
|
|
|
|
FROM ods_caiwu_feecollection
|
|
|
|
|
WHERE category = '物业'
|
|
|
|
|
AND yr_month = '${LEFT(MONTHDELTA(p_ym,-1),7)}'
|
|
|
|
|
GROUP BY
|
2024-10-26 23:41:12 +08:00
|
|
|
|
organ_code
|
|
|
|
|
-- ${IF(LEN(p_area)>0,"comm_id", "organ_code")}
|
2024-10-25 15:13:36 +08:00
|
|
|
|
)B
|
2024-10-26 23:41:12 +08:00
|
|
|
|
ON A.organ_code = B.organ_code
|
2024-10-25 15:13:36 +08:00
|
|
|
|
|
2024-10-26 23:41:12 +08:00
|
|
|
|
${if(p_type='行政',"","*/")}
|
2024-10-27 11:54:22 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 离职率排名
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
T.hr_organ_name AS hr_organ_name
|
|
|
|
|
,T.lz_rate AS lz_rate
|
|
|
|
|
,0 AS lz_rate_target
|
|
|
|
|
,ROW_NUMBER() OVER(ORDER BY T.lz_rate desc) AS 排名
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
${IF(LEN(p_area)>0,"B.hr_comm_name", "hr_organ_name")} AS hr_organ_name
|
|
|
|
|
,CASE WHEN ((SUM(StartOfmonth_zzrs) + SUM(EndOfmonth_zsrs)) / 2) = 0 THEN 0
|
|
|
|
|
ELSE SUM(zlzrs) / ((SUM(StartOfmonth_zzrs) + SUM(EndOfmonth_zsrs)) / 2)
|
|
|
|
|
END AS lz_rate
|
|
|
|
|
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
nd -- 年度
|
|
|
|
|
,jd -- 季度
|
|
|
|
|
,yd -- 月度
|
|
|
|
|
,rq -- 日期
|
|
|
|
|
,zb -- 总部
|
|
|
|
|
,pq -- 片区
|
|
|
|
|
,xm -- 项目
|
|
|
|
|
,zzrs -- 当天在职人数
|
|
|
|
|
,zdlzrs -- 当天主动离职人数
|
|
|
|
|
,bdlzrs -- 当天被动离职人数
|
|
|
|
|
,zlzrs -- 当天总离职人数
|
|
|
|
|
,CASE WHEN rq = CONCAT('${p_ym}','-01') THEN zzrs ELSE 0 END AS StartOfmonth_zzrs -- 月初在职人数
|
|
|
|
|
,CASE WHEN rq = LAST_DAY(CONCAT('${p_ym}','-01')) THEN zzrs ELSE 0 END AS EndOfmonth_zsrs -- 月末在职人数
|
|
|
|
|
FROM ods_hr_view_lzbl_d
|
|
|
|
|
WHERE LEFT(rq,7) = '${p_ym}'
|
2024-10-29 16:54:07 +08:00
|
|
|
|
AND pq not in('89','267')
|
2024-10-27 11:54:22 +08:00
|
|
|
|
-- 排除了:
|
|
|
|
|
-- 89:佳美物业公司
|
|
|
|
|
-- 153:领悦集团总部
|
|
|
|
|
-- 267:悦汇发展公司
|
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-29 16:54:07 +08:00
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
|
|
|
|
FROM dim_organ_mapping
|
2024-10-27 11:54:22 +08:00
|
|
|
|
GROUP BY
|
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
2024-10-29 16:54:07 +08:00
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT
|
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
2024-10-27 11:54:22 +08:00
|
|
|
|
)B
|
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
|
and A.xm = b.hr_comm_id
|
|
|
|
|
where 1 = 1
|
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
|
|
|
|
GROUP BY
|
|
|
|
|
${IF(LEN(p_area)>0,"B.hr_comm_name", "hr_organ_name")}
|
2024-10-28 17:31:37 +08:00
|
|
|
|
)T
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 指标卡_人力成本费率/目标值
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
SUM(T1.actual_cost) AS actual_cost -- 人力成本
|
|
|
|
|
,SUM(T1.index_income_fact) AS index_income_fact -- 实际收入
|
|
|
|
|
,sum(T1.actual_cost) / sum(T1.index_income_fact) AS FEE_RATE -- 费率
|
|
|
|
|
,0 AS fee_rate_target
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
A.yr_month AS yr_month
|
|
|
|
|
,A.actual_cost
|
|
|
|
|
,b.index_income_fact AS index_income_fact
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
-- 费控人力成本科目汇总表
|
|
|
|
|
SELECT
|
|
|
|
|
organ_code
|
|
|
|
|
,CONCAT(yearname,'-',monthname) AS yr_month
|
|
|
|
|
,SUM(CASE WHEN fee_type IN('实际值','目标值') THEN total_fee ELSE 0 END) / 10000 AS actual_cost -- 人力成本
|
|
|
|
|
from dw.dws_cost_ac_summary_d
|
|
|
|
|
WHERE CONCAT(yearname,'-',monthname) = '${LEFT(MONTHDELTA(p_ym,-1),7)}'
|
|
|
|
|
GROUP BY CONCAT(yearname,'-',monthname),organ_code
|
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(-- 公司实际收入
|
|
|
|
|
SELECT
|
|
|
|
|
yr_month
|
|
|
|
|
,organ_code
|
|
|
|
|
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
|
|
|
|
FROM ods_caiwu_feecollection
|
|
|
|
|
WHERE category = '物业'
|
|
|
|
|
AND yr_month = '${LEFT(MONTHDELTA(p_ym,-1),7)}'
|
|
|
|
|
GROUP BY yr_month,organ_code
|
|
|
|
|
)B
|
|
|
|
|
ON A.yr_month = B.yr_month
|
|
|
|
|
AND A.organ_code = B.organ_code
|
|
|
|
|
WHERE 1 = 1
|
|
|
|
|
${IF(LEN(p_area)>0," AND A.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
|
|
|
|
)T1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 指标卡_行政成本费率/目标值
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
SUM(T1.actual_cost) AS actual_cost -- 行政成本
|
|
|
|
|
,SUM(T1.index_income_fact) AS index_income_fact -- 实际收入
|
|
|
|
|
,SUM(T1.actual_cost) / SUM(T1.index_income_fact) AS FEE_RATE -- 费率
|
|
|
|
|
,0 AS fee_rate_target
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
A.yr_month AS yr_month
|
|
|
|
|
,A.actual_cost AS actual_cost -- 人力成本
|
|
|
|
|
,B.index_income_fact AS index_income_fact -- 实际收入
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
-- 费控行政成本科目汇总表
|
|
|
|
|
SELECT
|
|
|
|
|
organ_code
|
|
|
|
|
,CONCAT(yearname, '-', monthname) AS yr_month
|
|
|
|
|
,SUM(CASE WHEN fee_type IN ('实际值', '目标值') THEN total_fee ELSE 0 END) / 10000 AS actual_cost -- 人力成本
|
|
|
|
|
FROM dw.dws_cost_lc_summary_d
|
|
|
|
|
WHERE CONCAT(yearname, '-', monthname) = '${LEFT(MONTHDELTA(p_ym,-1),7)}'
|
|
|
|
|
GROUP BY CONCAT(yearname, '-', monthname),organ_code
|
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(-- 公司实际收入
|
|
|
|
|
SELECT
|
|
|
|
|
yr_month
|
|
|
|
|
,organ_code
|
|
|
|
|
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
|
|
|
|
FROM ods_caiwu_feecollection
|
|
|
|
|
WHERE category = '物业'
|
|
|
|
|
AND yr_month = '${LEFT(MONTHDELTA(p_ym,-1),7)}'
|
|
|
|
|
GROUP BY yr_month,organ_code
|
|
|
|
|
)B
|
|
|
|
|
ON A.yr_month = B.yr_month
|
|
|
|
|
AND A.organ_code = B.organ_code
|
|
|
|
|
WHERE 1=1
|
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
|
|
|
|
|
|
|
|
|
)T1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 指标卡_在职人数满编率/目标值
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
SELECT
|
2024-10-29 16:54:07 +08:00
|
|
|
|
CASE WHEN SUM(bzs) = 0 THEN 0 ELSE SUM(zzs) / SUM(bzs) END AS full_rate -- 满编率
|
|
|
|
|
,0 AS full_rate_target -- 满编率目标值
|
2024-10-28 17:31:37 +08:00
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
pq -- 片区
|
|
|
|
|
,xm -- 项目
|
|
|
|
|
,zzs -- 在职数
|
|
|
|
|
,bzs -- 编制数
|
|
|
|
|
FROM ods_hr_view_mbl_d
|
2024-10-29 16:54:07 +08:00
|
|
|
|
WHERE rq = '${p_ym}'
|
2024-10-28 17:31:37 +08:00
|
|
|
|
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
|
2024-10-29 16:54:07 +08:00
|
|
|
|
AND pq not in('89','267') -- 排除了佳美、悦汇
|
2024-10-28 17:31:37 +08:00
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
organ_code -- erp片区编码
|
|
|
|
|
,organ_name -- erp片区名称
|
|
|
|
|
,hr_organ_id -- hr片区编码
|
|
|
|
|
,hr_organ_name -- hr片区名称
|
|
|
|
|
,hr_comm_id -- hr项目id
|
|
|
|
|
,hr_comm_name -- hr项目名称
|
2024-10-29 16:54:07 +08:00
|
|
|
|
FROM dim_organ_mapping
|
2024-10-28 17:31:37 +08:00
|
|
|
|
GROUP BY
|
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
2024-10-29 16:54:07 +08:00
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT
|
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
2024-10-28 17:31:37 +08:00
|
|
|
|
)B
|
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
|
and A.xm = B.hr_comm_id
|
2024-10-29 16:54:07 +08:00
|
|
|
|
LEFT JOIN
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
organ_code -- erp片区code
|
|
|
|
|
,organ_name -- erp片区名称
|
|
|
|
|
,comm_id -- 项目id
|
|
|
|
|
,comm_name -- 项目名称
|
|
|
|
|
,ym -- 日期(yyyy-MM格式)
|
|
|
|
|
,full_rate_target -- 满编率目标
|
|
|
|
|
,lz_rate_target -- 离职率目标
|
|
|
|
|
,lc_fee_rate_target -- 人力成本费率目标
|
|
|
|
|
,ac_fee_rate_target -- 行政成本费率目标
|
|
|
|
|
FROM ods_hr_collection_target -- 目标值收集
|
|
|
|
|
WHERE ym = '${p_ym}'
|
|
|
|
|
|
|
|
|
|
)C
|
|
|
|
|
ON A.pq = C.organ_code
|
|
|
|
|
AND A.xm = c.comm_id
|
|
|
|
|
WHERE 1 = 1
|
2024-10-28 17:31:37 +08:00
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ======================================
|
|
|
|
|
-- 指标卡_离职人数离职率/目标值
|
|
|
|
|
-- ======================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
CASE WHEN ((SUM(StartOfmonth_zzrs) + SUM(EndOfmonth_zsrs)) / 2) = 0 THEN 0
|
|
|
|
|
ELSE SUM(zlzrs) / ((SUM(StartOfmonth_zzrs) + SUM(EndOfmonth_zsrs)) / 2)
|
|
|
|
|
END AS lz_rate
|
2024-10-29 16:54:07 +08:00
|
|
|
|
,'0.002' AS lz_rate_target
|
2024-10-28 17:31:37 +08:00
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
nd -- 年度
|
|
|
|
|
,jd -- 季度
|
|
|
|
|
,yd -- 月度
|
|
|
|
|
,rq -- 日期
|
|
|
|
|
,zb -- 总部
|
|
|
|
|
,pq -- 片区
|
|
|
|
|
,xm -- 项目
|
|
|
|
|
,zzrs -- 当天在职人数
|
|
|
|
|
,zdlzrs -- 当天主动离职人数
|
|
|
|
|
,bdlzrs -- 当天被动离职人数
|
|
|
|
|
,zlzrs -- 当天总离职人数
|
|
|
|
|
,CASE WHEN rq = CONCAT('${p_ym}','-01') THEN zzrs ELSE 0 END AS StartOfmonth_zzrs -- 月初在职人数
|
|
|
|
|
,CASE WHEN rq = LAST_DAY(CONCAT('${p_ym}','-01')) THEN zzrs ELSE 0 END AS EndOfmonth_zsrs -- 月末在职人数
|
|
|
|
|
FROM ods_hr_view_lzbl_d
|
|
|
|
|
WHERE LEFT(rq,7) = '${p_ym}'
|
2024-10-29 16:54:07 +08:00
|
|
|
|
AND pq not in('89','267') -- 排除了佳美、悦汇
|
2024-10-28 17:31:37 +08:00
|
|
|
|
-- 排除了:
|
|
|
|
|
-- 89:佳美物业公司
|
|
|
|
|
-- 153:领悦集团总部
|
|
|
|
|
-- 267:悦汇发展公司
|
|
|
|
|
)A
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
2024-10-29 16:54:07 +08:00
|
|
|
|
organ_code -- erp片区编码
|
|
|
|
|
,organ_name -- erp片区名称
|
|
|
|
|
,hr_organ_id -- hr片区编码
|
|
|
|
|
,hr_organ_name -- hr片区名称
|
|
|
|
|
,hr_comm_id -- hr项目id
|
|
|
|
|
,hr_comm_name -- hr项目名称
|
|
|
|
|
FROM dim_organ_mapping
|
2024-10-28 17:31:37 +08:00
|
|
|
|
GROUP BY
|
2024-10-29 16:54:07 +08:00
|
|
|
|
organ_code
|
|
|
|
|
,organ_name
|
|
|
|
|
,hr_organ_id
|
|
|
|
|
,hr_organ_name
|
|
|
|
|
,hr_comm_id
|
|
|
|
|
,hr_comm_name
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT
|
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
2024-10-28 17:31:37 +08:00
|
|
|
|
)B
|
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
|
and A.xm = b.hr_comm_id
|
|
|
|
|
where 1 = 1
|
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|