明细表
This commit is contained in:
parent
2c583cc42a
commit
c33ed1cdea
@ -42,6 +42,7 @@
|
||||
<file url="file://$PROJECT_DIR$/finereport/kanban/pc/总裁.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/kanban/pc/法务.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/3_property/1_各项目客户满意度得分.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/人力看板目标值填报.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/6_innovation/多经四大业务指标完成情况填报表.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/EARLY_WARNING/看板数据预警-项目维度.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/2_operation/住服比异常项目.sql" dialect="MySQL" />
|
||||
@ -51,6 +52,8 @@
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/3_property/2_报事情况报表.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/3_property/4_投诉明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/4_engine/1_异常抬杆下钻明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/5_manpower/4_人力行政成本费率明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/5_manpower/5_在职人员明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/6_innovation/4_小悦到家服务销售明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/6_innovation/5_多经合同到期情况.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/6_innovation/7_空间运营出租率明细.sql" dialect="MySQL" />
|
||||
|
@ -721,4 +721,207 @@ FROM
|
||||
${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")}
|
||||
)T
|
||||
)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
|
||||
CASE WHEN SUM(avg_bzs) = 0 THEN 0 ELSE SUM(avg_zzs) / SUM(avg_bzs) END AS full_rate -- 满编率
|
||||
,0 AS full_rate_target
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,zzs -- 在职数
|
||||
,bzs -- 编制数
|
||||
,rq
|
||||
,datediff(current_date(),rq) AS datedif -- 结束日期--开始日期
|
||||
,sum(zzs) over(PARTITION BY rq,pq,xm) AS total_zzs -- 累计在职人数
|
||||
,sum(bzs) over(PARTITION BY rq,pq,xm) AS total_bzs -- 累计编制人数
|
||||
,sum(zzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_zzs -- 平均在职人数
|
||||
,sum(bzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_bzs -- 平均编制人数
|
||||
FROM ods_hr_view_mbl_d
|
||||
WHERE CONCAT(nd,'-',yd) = '${p_ym}'
|
||||
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
|
||||
AND pq <> '89'
|
||||
)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项目名称
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
WHERE hr_organ_name IS NOT NULL
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
)B
|
||||
ON A.pq = B.hr_organ_id
|
||||
and A.xm = B.hr_comm_id
|
||||
${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
|
||||
,0 AS lz_rate_target
|
||||
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}'
|
||||
AND pq not in('89','153','267')
|
||||
-- 排除了:
|
||||
-- 89:佳美物业公司
|
||||
-- 153:领悦集团总部
|
||||
-- 267:悦汇发展公司
|
||||
)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项目名称
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
)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,"','")+"')", "")}
|
||||
|
35
finereport/tianbao/5_manpower/人力看板目标值填报.sql
Normal file
35
finereport/tianbao/5_manpower/人力看板目标值填报.sql
Normal file
@ -0,0 +1,35 @@
|
||||
|
||||
|
||||
CREATE TABLE ods_hr_collection_target (
|
||||
id int NOT NULL AUTO_INCREMENT COMMENT '主键(自增)'
|
||||
,organ_code varchar(50) COMMENT 'erp片区code'
|
||||
,organ_name varchar(100) COMMENT 'erp片区名称'
|
||||
,comm_id varchar(50) COMMENT '项目id'
|
||||
,comm_name varchar(100) COMMENT '项目名称'
|
||||
,ym varchar(50) COMMENT '日期(yyyy-MM格式)'
|
||||
,full_rate_target decimal(28,10) COMMENT '满编率目标'
|
||||
,lz_rate_target decimal(28,10) COMMENT '离职率目标'
|
||||
,lc_fee_rate_target decimal(28,10) COMMENT '人力成本费率目标'
|
||||
,ac_fee_rate_target decimal(28,10) COMMENT '行政成本费率目标'
|
||||
,update_by varchar(50) COMMENT '数据更新人'
|
||||
,update_time datetime COMMENT '数据更新时间'
|
||||
,PRIMARY KEY (id)
|
||||
) COMMENT='人力目标值填报';
|
||||
|
||||
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}'
|
||||
|
||||
|
||||
|
||||
VALUE("dict_片区",1,2,B2)
|
||||
VALUE("dict_片区_项目",3,4,C2)
|
62
finereport/xiazuan/5_manpower/2_员工满编率明细.sql
Normal file
62
finereport/xiazuan/5_manpower/2_员工满编率明细.sql
Normal file
@ -0,0 +1,62 @@
|
||||
|
||||
SELECT
|
||||
T1.hr_comm_name AS hr_comm_name
|
||||
,T1.hr_organ_name AS hr_organ_name
|
||||
,T1.bzs AS bzs -- 当月编制数
|
||||
,T1.zzs AS zzs -- 当月在职数
|
||||
,'0' AS target_full_rate -- 月均满编率目标
|
||||
,CASE when T1.bzs = 0 then 0 else T1.zzs / T1.bzs end AS full_rate -- 月度满编率
|
||||
,'0' AS target_rate -- 月均满编率目标
|
||||
,T1.rate AS rate -- 月均满编率实际
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
B.hr_comm_name AS hr_comm_name
|
||||
,B.hr_organ_name AS hr_organ_name
|
||||
,SUM(A.bzs) AS bzs
|
||||
,SUM(A.zzs) AS zzs
|
||||
,CASE WHEN SUM(avg_bzs) = 0 THEN 0 ELSE SUM(avg_zzs) / SUM(avg_bzs) END AS RATE
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,zzs -- 在职数
|
||||
,bzs -- 编制数
|
||||
,rq
|
||||
,datediff(current_date(),rq) AS datedif -- 结束日期--开始日期
|
||||
,sum(zzs) over(PARTITION BY rq,pq,xm) AS total_zzs -- 累计在职人数
|
||||
,sum(bzs) over(PARTITION BY rq,pq,xm) AS total_bzs -- 累计编制人数
|
||||
,sum(zzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_zzs -- 平均在职人数
|
||||
,sum(bzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_bzs -- 平均编制人数
|
||||
FROM ods_hr_view_mbl_d
|
||||
WHERE CONCAT(nd,'-',yd) = '${p_ym}'
|
||||
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
|
||||
AND pq <> '89'
|
||||
)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项目名称
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
WHERE hr_organ_name IS NOT NULL
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
)B
|
||||
ON A.pq = B.hr_organ_id
|
||||
and A.xm = B.hr_comm_id
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('" + p_area +"')", "")}
|
||||
GROUP BY
|
||||
B.hr_comm_name
|
||||
,B.hr_organ_name
|
||||
)T1
|
61
finereport/xiazuan/5_manpower/3_员工离职率明细.sql
Normal file
61
finereport/xiazuan/5_manpower/3_员工离职率明细.sql
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
|
||||
|
||||
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
|
||||
,SUM(StartOfmonth_zzrs) AS StartOfmonth_zzrs -- 月初在职人数
|
||||
,SUM(EndOfmonth_zsrs) AS EndOfmonth_zsrs -- 月末在职人数
|
||||
,sum(zdlzrs) AS zdlzrs -- 主动离职人数
|
||||
,sum(bdlzrs) AS bdlzrs -- 当天被动离职人数
|
||||
,SUM(zlzrs) AS zlzrs -- 总离职人数
|
||||
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}'
|
||||
AND pq not in('89','153','267')
|
||||
-- 排除了:
|
||||
-- 89:佳美物业公司
|
||||
-- 153:领悦集团总部
|
||||
-- 267:悦汇发展公司
|
||||
)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项目名称
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
)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 ('" + p_area +"')", "")}
|
||||
GROUP BY
|
||||
${IF(LEN(p_area)>0,"B.hr_comm_name", "hr_organ_name")}
|
142
finereport/xiazuan/5_manpower/4_人力行政成本费率明细.sql
Normal file
142
finereport/xiazuan/5_manpower/4_人力行政成本费率明细.sql
Normal file
@ -0,0 +1,142 @@
|
||||
|
||||
${if(p_type='人力',"","/*")}
|
||||
|
||||
SELECT
|
||||
A.organ_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
|
||||
A1.organ_code
|
||||
,A1.organ_name
|
||||
-- ${IF(LEN(p_area)>0,"dimsubjectname", "organ_name")} AS organ_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) = '${LEFT(MONTHDELTA(p_ym,-1),7)}' -- 取上月数据
|
||||
)A1
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code -- erp片区编码
|
||||
,organ_name -- erp片区名称
|
||||
,cost_comm_id
|
||||
,cost_comm_name
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,cost_comm_id
|
||||
,cost_comm_name
|
||||
)A2
|
||||
ON A1.organ_code = A2.organ_code
|
||||
-- AND A1.dimsubjectcode = A2.cost_comm_id
|
||||
WHERE 1=1
|
||||
-- ${IF(LEN(p_area)>0," AND A2.id IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
GROUP BY
|
||||
A1.organ_code
|
||||
,A1.organ_name
|
||||
-- ${IF(LEN(p_area)>0,"dimsubjectname", "organ_name")}
|
||||
)A
|
||||
LEFT JOIN
|
||||
(-- 公司实际收入
|
||||
SELECT
|
||||
-- ${IF(LEN(p_area)>0,"comm_name", "organ_name")} AS organ_comm_name
|
||||
organ_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 = '${LEFT(MONTHDELTA(p_ym,-1),7)}'
|
||||
GROUP BY
|
||||
-- ${IF(LEN(p_area)>0,"comm_name", "organ_name")}
|
||||
organ_code
|
||||
)B
|
||||
ON A.organ_code = B.organ_code
|
||||
|
||||
${if(p_type='人力',"","*/")}
|
||||
|
||||
${if(p_type='行政',"","/*")}
|
||||
|
||||
|
||||
|
||||
SELECT
|
||||
A.organ_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
|
||||
-- ${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
|
||||
,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
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code -- erp片区编码
|
||||
,organ_name -- erp片区名称
|
||||
,comm_id
|
||||
,comm_name
|
||||
,cost_comm_id
|
||||
,cost_comm_name
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,cost_comm_id
|
||||
,cost_comm_name
|
||||
)A2
|
||||
ON A1.organ_code = A2.organ_code
|
||||
-- AND A1.dimsubjectcode = A2.cost_comm_id
|
||||
WHERE 1=1
|
||||
-- ${IF(LEN(p_area)>0," AND A2.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
GROUP BY
|
||||
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")}
|
||||
)A
|
||||
LEFT JOIN
|
||||
(-- 公司实际收入
|
||||
SELECT
|
||||
-- ${IF(LEN(p_area)>0,"comm_id", "organ_code")} AS organ_comm_code
|
||||
organ_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 = '${LEFT(MONTHDELTA(p_ym,-1),7)}'
|
||||
GROUP BY
|
||||
organ_code
|
||||
-- ${IF(LEN(p_area)>0,"comm_id", "organ_code")}
|
||||
)B
|
||||
ON A.organ_code = B.organ_code
|
||||
|
||||
${if(p_type='行政',"","*/")}
|
||||
|
239
finereport/xiazuan/5_manpower/5_在职人员明细.sql
Normal file
239
finereport/xiazuan/5_manpower/5_在职人员明细.sql
Normal file
@ -0,0 +1,239 @@
|
||||
-- ======================================
|
||||
-- 年龄分布
|
||||
-- ======================================
|
||||
|
||||
SELECT
|
||||
nld
|
||||
,sum(sl) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
zb -- 总部
|
||||
,pq -- 片区
|
||||
,xm -- 项目
|
||||
,nld -- 年龄段
|
||||
,sl -- 数量
|
||||
FROM ods_hr_view_nld_d
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
|
||||
)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 nld
|
||||
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 司龄分布
|
||||
-- ======================================
|
||||
|
||||
SELECT
|
||||
sld
|
||||
,sum(sl) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
zb -- 总部
|
||||
,pq -- 片区
|
||||
,xm -- 项目
|
||||
,sld -- 司龄段
|
||||
,sl -- 数量
|
||||
FROM ods_hr_view_sld_d
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
|
||||
)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 sld
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 学历分布
|
||||
-- ======================================
|
||||
|
||||
|
||||
SELECT
|
||||
xl
|
||||
,sum(sl) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
zb -- 总部
|
||||
,pq -- 片区
|
||||
,xm -- 项目
|
||||
,xl -- 学历
|
||||
,sl -- 数量
|
||||
FROM ods_hr_view_xl_d
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
|
||||
)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 xl
|
||||
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 职务角色
|
||||
-- ======================================
|
||||
|
||||
|
||||
SELECT
|
||||
zwje
|
||||
,sum(sl) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
zb -- 总部
|
||||
,pq -- 片区
|
||||
,xm -- 项目
|
||||
,zwje -- 职务角色
|
||||
,sl -- 数量
|
||||
FROM dw.ods_hr_view_zwjs_d
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
|
||||
)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 zwje
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 职务层级
|
||||
-- ======================================
|
||||
|
||||
|
||||
SELECT
|
||||
swtx
|
||||
,sum(sl) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
zb -- 总部
|
||||
,pq -- 片区
|
||||
,xm -- 项目
|
||||
,swtx -- 职务层级
|
||||
,sl -- 数量
|
||||
FROM dw.ods_hr_view_swtx_d
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
|
||||
)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 swtx
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 一级专业条线
|
||||
-- ======================================
|
||||
|
||||
|
||||
SELECT
|
||||
zytx
|
||||
,sum(sl) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
zb -- 总部
|
||||
,pq -- 片区
|
||||
,xm -- 项目
|
||||
,zytx -- 一级专业条线
|
||||
,sl -- 数量
|
||||
FROM dw.ods_hr_view_zytx_d
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,hr_organ_id
|
||||
,hr_comm_id
|
||||
|
||||
)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 zytx
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user