From 9f20fbe6f1245f51c1e110fd1395600096244eb0 Mon Sep 17 00:00:00 2001 From: yangkunan Date: Tue, 3 Sep 2024 18:37:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E5=8D=95=E4=BD=8D=E9=9D=A2?= =?UTF-8?q?=E7=A7=AF=E8=83=BD=E8=80=97=E5=90=8C=E7=8E=AF=E6=AF=94=E3=80=81?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=98=8E=E7=BB=86=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/sqldialects.xml | 3 + finereport/kanban/mobile/工程_mobile.sql | 56 ++ finereport/kanban/mobile/物业_mobile.sql | 904 +++++++++++++++++- finereport/kanban/pc/工程.sql | 94 ++ .../3_property/1_各项目客户满意度得分.sql | 42 + .../xiazuan/2_operation/项目明细弹窗.sql | 330 +++++-- 6 files changed, 1340 insertions(+), 89 deletions(-) create mode 100644 finereport/tianbao/3_property/1_各项目客户满意度得分.sql diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml index af24d12..65b33a7 100644 --- a/.idea/sqldialects.xml +++ b/.idea/sqldialects.xml @@ -22,6 +22,8 @@ + + @@ -31,6 +33,7 @@ + diff --git a/finereport/kanban/mobile/工程_mobile.sql b/finereport/kanban/mobile/工程_mobile.sql index e69de29..32c706f 100644 --- a/finereport/kanban/mobile/工程_mobile.sql +++ b/finereport/kanban/mobile/工程_mobile.sql @@ -0,0 +1,56 @@ +-- 【单位面积能耗同环比】 + +select + A.organ_code AS organ_code + , A.organ_name AS organ_name + , A.comm_id AS comm_id + , A.comm_name AS comm_name + , A.MeterType AS MeterType + , A.list_ym AS list_ym + , A.Dosage AS Dosage + , A.Amount AS Amount + ,IF(B.ContractArea = 0,0,A.Dosage / B.ContractArea) AS DOSAGE_PER_SQUARE_METER +from + ( + SELECT + organ_code + , organ_name + , comm_id + , comm_name + , MeterType + , list_ym + , Dosage + , Amount + FROM dws_engine_meter_dosage_m + ${IF(p_type = "环比","/*","")} + where 1=1 + AND list_ym <> DATE_FORMAT(CURDATE(), '%Y%m') + AND list_ym >= '${FORMAT(MONTHDELTA(CONCATENATE(p_ym,"-01"),-60),"yyyyMM")}' + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} + ${IF(LEN(p_ym)>0," AND right(list_ym,2) ='" +right(p_ym,2) + "'","")} + and MeterType in ('水表','电表') + order by list_ym asc + ${IF(p_type = "环比","*/","")} + + ${IF(p_type = "环比","","/*")} + where left(list_ym,4) = ${left(p_ym,4)} + AND list_ym <> DATE_FORMAT(CURDATE(), '%Y%m') + and MeterType in ('水表','电表') + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} + ORDER BY list_ym ASC + ${IF(p_type = "环比","","*/")} + )A + LEFT JOIN + ( + select + CommId -- 项目id + ,SUM(ContractArea) AS ContractArea-- 合同面积(建筑面积) + from dim_project_base_info_d + GROUP BY + CommId + )B + ON A.comm_id = B.CommId +ORDER BY A.list_ym,A.MeterType +; \ No newline at end of file diff --git a/finereport/kanban/mobile/物业_mobile.sql b/finereport/kanban/mobile/物业_mobile.sql index fd788a9..a609d42 100644 --- a/finereport/kanban/mobile/物业_mobile.sql +++ b/finereport/kanban/mobile/物业_mobile.sql @@ -41,4 +41,906 @@ Text2:需要比较的第二组文本。 示例: EXACT("Spreadsheet","Spreadsheet")等于TRUE。 EXACT("Spreadsheet","S preadsheet")等于FALSE。 -EXACT("Spreadsheet","spreadsheet")等于FALSE。 \ No newline at end of file +EXACT("Spreadsheet","spreadsheet")等于FALSE。 + +-- 【客满得分汇总】 + +select + yr, + t_quarter, + organ_code, + organ_name, + index_myd_target, + index_mydf, + index_mydf / index_myd_target myd_complete_rate +select * from ods_wuye_complaint_half_year +where 1=1 and yr = '2024' and t_quarter = '二季度' +${if(len(organ)=0,"and organ_code = '0000'","and organ_code = '"+organ+"'")} + + + + + +-- 【report_各片区得分】 + + WITH T1 AS (/*各片区得分目标*/ +SELECT DISTINCT + organ_code, + organ_name, + organ_target +FROM ods_wuye_satisfaction_target +WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target > 0 +),T2 AS (/*各片区得分情况*/ +SELECT DISTINCT + organ_code, + organ_name, + index_mydf, + IFNULL(index_wl_yxybl,0) + IFNULL(index_mwl_yxybl,0) AS 样本量, + IFNULL(index_wl_myl,0) + IFNULL(index_mwl_myl,0) AS 满意量 +FROM ods_wuye_complaint_half_year +WHERE yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' +) +SELECT + ROW_NUMBER() OVER (ORDER BY T2.index_mydf DESC) AS 序号, + T1.organ_code, + T1.organ_name, + T1.organ_target AS 目标, + T2.index_mydf AS 满意度得分, + T2.样本量, + T2.满意量 +FROM T1 LEFT JOIN T2 ON T1.organ_code = T2.organ_code +WHERE T1.organ_target IS NOT NULL + ${if(left(fine_role,6)!="领悦集团总部","and T1.organ_name = '"+GETUSERDEPARTMENTS(2)+"'","")} +ORDER BY 满意度得分 DESC +; + + +-- 不选片区展示总得分 +${IF(OR(LEN(p_area)>0,left(fine_role,2)=="项目"),"/*", "")} +select + ifnull(index_mydf,'-') as index_mydf + ,IFNULL((index_mydf / index_myd_target),'-') as myd_complete_rate +from ods_wuye_complaint_half_year +where 1=1 +and yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' +AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' +and organ_code = '0000' +${IF(OR(LEN(p_area)>0,left(fine_role,2)=="项目"),"*/", "")} + +-- 选择片区显示片区得分 选择多个片区只会返回得分最高的片区 +${IF(AND(LEN(p_area)>0,left(fine_role,2)!="项目"),"", "/*")} +select + ifnull(index_mydf,'-') as index_mydf + ,IFNULL((index_mydf / index_myd_target),'-') as myd_complete_rate +from ods_wuye_complaint_half_year +where 1=1 +and yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' +AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' +${IF(LEN(p_area)>0,"AND organ_code IN('"+JOINARRAY(p_area,"','")+"')", "")} -- 如果选择的片区 筛选片区的数据 +${if(left(fine_role,6)!="领悦集团总部","and organ_name = '"+GETUSERDEPARTMENTS(2)+"'","")} +ORDER BY index_mydf desc +${IF(AND(LEN(p_area)>0,left(fine_role,2)!="项目"),"", "*/")} +-- 如果是项目负责人 需显示项目得分情况 +${IF(left(fine_role,2)=="项目","", "/*")} +WITH T3 AS ( + -- 各项目目标 + SELECT + comm_name + ,comm_id + ,comm_target -- 目标 + FROM ods_wuye_satisfaction_target -- 年度维护目标表 包含片区项目的目标值 + WHERE yr = '${LEFT(p_ym,4)}' + AND comm_type = '内盘' + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} -- 如果选择的片区 筛选片区的数据 + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} +), +T4 AS ( + -- 各项目得分 + SELECT + comm_name + ,comm_id + ,index_dc_myddf -- 得分 + FROM ods_wuye_complaint + WHERE yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} +) +SELECT +IFNULL(T4.index_dc_myddf,'-') as index_dc_myddf -- 得分 +,IFNULL((T4.index_dc_myddf / T3.comm_target),'-') AS index_dc_myddf_rate -- 得分完成率 +FROM T3 +LEFT JOIN T4 +ON T3.comm_id = T4.comm_id +ORDER BY T4.index_dc_myddf DESC +${IF(left(fine_role,2)=="项目","", "*/")} + + + +-- 【片区项目投诉】 + + + +SELECT + ROW_NUMBER() OVER (ORDER BY tousu_incident_num ASC) AS 序号 + -- ,a.p_area as p_area + ,REPLACE(REPLACE(a.p_area,'片区', ''),'公司','') AS p_area + ,a.incident_ym as incident_ym + ,a.tousu_close_incident_num as tousu_close_incident_num +from +( + select + ${if(len(p_area) == 0,"organ_name","comm_name")} as p_area + , incident_ym + , SUM(IFNULL(tousu_incident_num,0)) AS tousu_incident_num + , SUM(IFNULL(tousu_close_incident_num,0)) AS tousu_close_incident_num + FROM dws_estate_incident_info_m + where incident_ym = '${REPLACE(p_ym,"-","")}' + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} + ${IF(LEN(p_area)>0," and organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + GROUP BY ${if(len(p_area) == 0,"organ_name","comm_name")},incident_ym + having SUM(IFNULL(tousu_incident_num,0)) != 0 +)a +ORDER BY tousu_incident_num ASC + +-- 【片区项目投诉_倒数】 + + + +select + t.* +from + ( + SELECT + ROW_NUMBER() OVER (ORDER BY tousu_incident_num ASC) AS rk + -- ,a.p_area as p_area + ,REPLACE(REPLACE(a.p_area,'片区', ''),'公司','') AS p_area + ,a.incident_ym as incident_ym + ,a.tousu_close_incident_num as tousu_close_incident_num + from( + select + ${if(len(p_area) == 0,"organ_name","comm_name")} as p_area + , incident_ym + , SUM(IFNULL(tousu_incident_num,0)) AS tousu_incident_num + , SUM(IFNULL(tousu_close_incident_num,0)) AS tousu_close_incident_num + FROM dws_estate_incident_info_m + where incident_ym = '${REPLACE(p_ym,"-","")}' + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} + ${IF(LEN(p_area)>0," and organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + GROUP BY ${if(len(p_area) == 0,"organ_name","comm_name")},incident_ym + having SUM(IFNULL(tousu_incident_num,0)) != 0 + ) a + ORDER BY tousu_incident_num DESC + limit 3 + )t +order by rk + + +SELECT +REPLACE(REPLACE(t.p_area,'片区', ''),'公司','') AS p_area +,t.户数 AS 户数 +FROM +( + SELECT + ${if(len(p_area) == 0,"T1.organ_name","T1.comm_name")} as p_area + ,count(T2.RoomName) AS 户数 + FROM dim_organ_mapping T1 + INNER JOIN dim_room_d T2 + ON T1.comm_id = T2.CommID + ${IF(LEN(p_area)>0," where organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} + GROUP BY ${if(len(p_area) == 0,"T1.organ_name","T1.comm_name")} +)t + + +-- 【report_当年客满得分情况_按月】 + + + + +/*有片区求各项目的内外盘得分、目标*/ +/*无片区求各片区的得分、目标*/ +WITH T1 AS ( + /*各片区得分目标*/ + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '1月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '2月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '3月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '4月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '5月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '6月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '7月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '8月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '9月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '10月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '11月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + organ_target AS 目标, + yr AS yr, -- 年 + '12月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + AND organ_target IS NOT NULL + ${IF(LEN(p_area)>0," AND 1=2", "")} + + ),T2 AS ( + /*各片区得分*/ + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '1月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '一季度' + AND yr = '${LEFT(p_ym,4)}' +-- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '1月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '一季度' + AND yr = '${LEFT(p_ym,4)}' +-- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '2月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '一季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '3月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '一季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '4月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '二季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '5月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '二季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '6月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '二季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '7月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '三季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '8月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '三季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '9月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '三季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '10月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '四季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '11月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '四季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + UNION ALL + SELECT + DISTINCT + organ_name AS 维度, + SUM(IFNULL(index_mydf,0)) AS 得分, + '12月' AS m -- 月 + FROM ods_wuye_complaint_half_year + WHERE t_quarter = '四季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND t_quarter = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0," AND 1=2", "")} + GROUP BY organ_name + + ),T3 AS ( + /*各项目目标*/ + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '1月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '2月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '3月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '4月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '5月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '6月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '7月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '8月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '9月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '10月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '11月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + comm_target AS 目标, + yr, + '12月' AS m -- 月 + FROM ods_wuye_satisfaction_target + WHERE yr = '${LEFT(p_ym,4)}' + ${IF(p_type = "内盘","AND comm_type = '内盘'", "AND comm_type = '外盘'")} + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%禁用%' + AND comm_target IS NOT NULL + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_area)>0,"", "AND 1=2")} + + ),T4 AS ( + /*各项目得分*/ + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '1月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '一季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '2月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '一季度' + AND yr = '${LEFT(p_ym,4)}' +-- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '3月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '一季度' + AND yr = '${LEFT(p_ym,4)}' +-- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '4月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '二季度' + AND yr = '${LEFT(p_ym,4)}' +-- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '5月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '二季度' + AND yr = '${LEFT(p_ym,4)}' +-- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '6月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '二季度' + AND yr = '${LEFT(p_ym,4)}' +-- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '7月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '三季度' + AND yr = '${LEFT(p_ym,4)}' +-- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '8月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '三季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '9月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '三季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '10月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '四季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '11月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '四季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + UNION ALL + SELECT + comm_name AS 维度, + index_dc_myddf AS 得分, + yr, + '12月' AS m -- 月 + FROM ods_wuye_complaint + WHERE jd = '四季度' + AND yr = '${LEFT(p_ym,4)}' + -- AND yr = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1",LEFT(p_ym,4)-1,"2",LEFT(p_ym,4)-1,"3",LEFT(p_ym,4)-1,"4",LEFT(p_ym,4),"5",LEFT(p_ym,4),"6",LEFT(p_ym,4),"7",LEFT(p_ym,4),"8",LEFT(p_ym,4),"9",LEFT(p_ym,4),"10",LEFT(p_ym,4),"11",LEFT(p_ym,4),"12",LEFT(p_ym,4))}' + -- AND jd = '${SWITCH(MONTH(CONCATENATE(p_ym,"-01")),"1","四季度","2","四季度","3","四季度","4","一季度","5","一季度","6","一季度","7","二季度","8","二季度","9","二季度","10","三季度","11","三季度","12","三季度")}' + ${IF(LEN(p_area)>0,"", "AND 1=2")} + ) +SELECT + A.维度, + A.目标, + B.得分, + A.m +FROM ${IF(LEN(p_area)>0,"T3 AS A", "T1 AS A")} +LEFT JOIN ${IF(LEN(p_area)>0,"T4 AS B", "T2 AS B")} +ON A.维度 = B.维度 +and A.m = B.m +-- and A.yr = B.yr +WHERE A.目标 > 0 + AND B.得分 > 0 + ${if(left(fine_role,2)=="项目","and A.维度 = '"+GETUSERDEPARTMENTS(3)+"'","")} + + + + + + + + + +-- 片区维度 +select +a.ym as ym -- 年月 +,a.organ_code as organ_code -- 片区ID +,a.organ_name as organ_name -- 片区名称 +,if(b.index_dq_target =0,0,a.cu_collection_rate / b.index_dq_target) as cu_coll_complete_rate -- 物业费当期收缴率 +,if(b.index_wq_target = 0,0,a.pr_collection_rate / b.index_wq_target) as pr_coll_complete_rate -- 物业费往期收缴率 +,a.collection_rate as collection_rate-- 物业费收缴率 +from +( + SELECT + + ym + ,organ_code + ,organ_name + ,sum(ifnull(pr_paid_cu_amt,0) + ifnull(cu_paid_cu_amt,0) - ifnull(pr_offset_cu_amt,0) - ifnull(cu_offset_cu_amt,0)) / sum(ifnull(cu_receivable_amt,0) + ifnull(pr_exempt_cu_amt,0) + ifnull(cu_exempt_cu_amt,0)) cu_collection_rate + ,sum((- ifnull(cu_paid_pr_amt,0) - ifnull(cu_offset_pr_amt,0))) / sum(ifnull(pr_total_receivable_amt,0) + ifnull(pr_total_received_amt,0) + ifnull(cu_early_exempt_pr_amt,0) + ifnull(cu_exempt_pr_amt,0)) pr_collection_rate + ,sum(ifnull(pr_paid_cu_amt,0) + ifnull(cu_paid_cu_amt,0) - ifnull(pr_offset_cu_amt,0) - ifnull(cu_offset_cu_amt,0)+(- ifnull(cu_paid_pr_amt,0) - ifnull(cu_offset_pr_amt,0))) / sum(ifnull(cu_receivable_amt,0) + ifnull(pr_exempt_cu_amt,0) + ifnull(cu_exempt_cu_amt,0)+ifnull(pr_total_receivable_amt,0) + ifnull(pr_total_received_amt,0) + ifnull(cu_early_exempt_pr_amt,0) + ifnull(cu_exempt_pr_amt,0)) collection_rate + from dwd_finance_fees_serial_d + where ParentCostCode = '0001' + -- ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} + -- ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_ym)>0," AND ym ='" + p_ym+ "'","")} + -- ${IF(LEN(p_area)>0,"group by organ_code, ym","group by ym")} + GROUP BY + ym + ,organ_code + ,organ_name +)a +left join +( + select + organ_code + ,organ_name + ,ym + ,index_dq_target -- 当期目标 + ,index_wq_target -- 往期目标 + from ods_finance_collection_target_area + -- ${IF(LEN(p_area)==0,"where organ_code = '5501'","")} + +)b +on a.ym = b.ym +AND a.organ_code = b.organ_code +-- ${IF(LEN(p_area)>0,"a.organ_code = b.organ_code and a.ym = b.ym", "a.ym = b.ym")} \ No newline at end of file diff --git a/finereport/kanban/pc/工程.sql b/finereport/kanban/pc/工程.sql index a062b25..65facee 100644 --- a/finereport/kanban/pc/工程.sql +++ b/finereport/kanban/pc/工程.sql @@ -319,4 +319,98 @@ FROM GROUP BY B.organ_name ,B.comm_name +; + + +-- ====================================== +-- 能耗同环比分析 修改为单位面积能耗 +-- ====================================== + +-- 单位面积能耗环比 + +select + A.organ_code AS organ_code +, A.organ_name AS organ_name +, A.comm_id AS comm_id +, A.comm_name AS comm_name +, A.MeterType AS MeterType +, A.list_ym AS list_ym +, A.Dosage AS Dosage +, A.Amount AS Amount +,IF(B.ContractArea = 0,0,A.Dosage / B.ContractArea) AS DOSAGE_PER_SQUARE_METER +from +( + SELECT + organ_code + , organ_name + , comm_id + , comm_name + , MeterType + , list_ym + , Dosage + , Amount + FROM dws_engine_meter_dosage_m + WHERE 1=1 + AND MeterType IN ('水表','电表') + AND list_ym < date_format(CURRENT_DATE(),'%Y%m') + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + AND LEFT (list_ym,4) = ${left(p_ym,4)} + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} +)A +LEFT JOIN +( + select + CommId -- 项目id + ,SUM(ContractArea) AS ContractArea-- 合同面积(建筑面积) + from dim_project_base_info_d + GROUP BY + CommId +)B +ON A.comm_id = B.CommId +; + + +-- 单位面积能耗_同比 + +select + A.organ_code AS organ_code + , A.organ_name AS organ_name + , A.comm_id AS comm_id + , A.comm_name AS comm_name + , A.MeterType AS MeterType + , A.list_ym AS list_ym + , A.Dosage AS Dosage + , A.Amount AS Amount + ,IF(B.ContractArea = 0,0,A.Dosage / B.ContractArea) AS DOSAGE_PER_SQUARE_METER +from + ( + SELECT + organ_code + , organ_name + , comm_id + , comm_name + , MeterType + , list_ym + , Dosage + , Amount + FROM dws_engine_meter_dosage_m + WHERE 1=1 + AND list_ym <> DATE_FORMAT(CURDATE(), '%Y%m') + AND list_ym >= '${FORMAT(MONTHDELTA(CONCATENATE(p_ym,"-01"),-60),"yyyyMM")}' + ${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")} + ${IF(LEN(p_ym)>0," AND right(list_ym,2) ='" +right(p_ym,2) + "'","")} + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} + and MeterType in ('水表','电表') + order by list_ym asc + )A + LEFT JOIN + ( + select + CommId -- 项目id + ,SUM(ContractArea) AS ContractArea-- 合同面积(建筑面积) + from dim_project_base_info_d + GROUP BY + CommId + )B + ON A.comm_id = B.CommId ; \ No newline at end of file diff --git a/finereport/tianbao/3_property/1_各项目客户满意度得分.sql b/finereport/tianbao/3_property/1_各项目客户满意度得分.sql new file mode 100644 index 0000000..89e9201 --- /dev/null +++ b/finereport/tianbao/3_property/1_各项目客户满意度得分.sql @@ -0,0 +1,42 @@ +-- 【ds1】 + +SELECT + organ_name, + comm_name, + cycle, + index_myd_target AS 满意度目标, + index_dc_myddf AS 满意度得分, + index_dc_ybl AS 地产有效样本量, + index_dc_myl AS 地产满意量, + index_dc_myd AS 稳老综合满意度, + index_dc_qz AS 权重20, + index_wy_ybl AS 物业有效样本量, + index_wy_myl AS 物业满意量, + index_wy_myd AS 磨稳老物业满意度, + index_wy_qz AS 权重80 +FROM dw.ods_wuye_complaint +WHERE yr = '2024' + AND jd = '二季度' + AND ptype = '内盘' +; + + +SELECT + organ_name, + comm_name, + cycle, + index_myd_target AS 满意度目标, + index_dc_myddf AS 满意度得分, + index_dc_ybl AS 地产有效样本量, + index_dc_myl AS 地产满意量, + index_dc_myd AS 稳老综合满意度, + index_dc_qz AS 权重20, + index_wy_ybl AS 物业有效样本量, + index_wy_myl AS 物业满意量, + index_wy_myd AS 磨稳老物业满意度, + index_wy_qz AS 权重80 +FROM ods_wuye_complaint +WHERE yr = '${p_yr}' + AND jd = '${p_jd}' + AND ptype = '${p_type}' +; \ No newline at end of file diff --git a/finereport/xiazuan/2_operation/项目明细弹窗.sql b/finereport/xiazuan/2_operation/项目明细弹窗.sql index 4c0d7fe..8341526 100644 --- a/finereport/xiazuan/2_operation/项目明细弹窗.sql +++ b/finereport/xiazuan/2_operation/项目明细弹窗.sql @@ -5,100 +5,254 @@ -- 目 录: xianzuan>2_运营>项目明细弹窗.fvs -- **************************************** --- 【数据集: report_project】 --- 1. 财务 finance --- 2. 运营 operation --- 3. 物业 property --- 4. 工程 engine --- 5. 人力 5_manpower --- 6. 创新 6_innovation --- 7. 商业 7_business --- 8. 法务 8_legal -SELECT - -- ${if(len(p_area) == 0,"B.organ_name","B.comm_name")} as p_area - -- ,A.CommId AS CommId -- 项目id 可关联maping表 - -- ${if(len(p_area) == 0,",'-'",",A.ManageKindName")} as newManageKind - -- ,A.ManageKind AS ManageKind -- 管理性质 【项目归属】 - A.ManageKindName AS ManageKindName -- 管理性质名称 【项目归属】 - ,A.ContractArea / 10000 AS ContractArea -- 合同面积 【建筑面积】 - ,A.TakeOverArea / 10000 AS TakeOverArea -- 接管面积 【合约面积】 - ,A.ManageContractArea / 10000 AS ManageContractArea -- 管理口径合同面积 【在管面积】 - -- ${if(len(p_area) == 0,",'-'",",A.StateName")} as newStateName - ,A.StateName AS StateName -- 业态 【项目业态】 - ,C.room_num AS room_num -- 总户数 - -- ,A.Province AS Province -- 省 - -- ,A.City AS City -- 市 - -- ,A.County AS County -- 区 - ,B.organ_code AS organ_code -- erp片区id - ,B.organ_name AS organ_name -- erp片区名称 - -- ,B.comm_id AS -- erp项目id - ,B.comm_name AS comm_name -- erp项目名称 + +SELECT-- ${if(len(p_area) == 0,"B.organ_name","B.comm_name")} as p_area +-- ,A.CommId AS CommId -- 项目id 可关联maping表 +-- ${if(len(p_area) == 0,",'-'",",A.ManageKindName")} as newManageKind +-- ,A.ManageKind AS ManageKind -- 管理性质 【项目归属】 + A.ManageKindName AS ManageKindName -- 管理性质名称 【项目归属】 + , + A.Province, + A.City, + A.Citylevel, -- 城市级别 + A.ManageStage, -- 项目状态 + A.TakeOverTime, -- 交付时间 + A.CommFrom, -- 项目来源 + A.DevSubject, -- 项目开发商名称 + A.CommAddress, -- 项目地址 + CASE WHEN ProjectFloorPlan IS NULL OR JSON_EXTRACT(JSON_EXTRACT(cast(A.ProjectFloorPlan as JSON),'$[0]'),'$.FileName') IS NULL + THEN '否' + WHEN JSON_EXTRACT(JSON_EXTRACT(cast(A.ProjectFloorPlan as JSON),'$[0]'),'$.FileName') IS NOT NULL + THEN '是' + END AS IS_UPLOAD, -- 是否有上传项目平面图 -- 项目平面图 + (A.FloorArea + A.UndergroundArea ) AS TotalArea, -- 建筑总面积 + A.FloorArea, -- 地上面积 + A.UndergroundArea, -- 地下面积 + A.GreenArea, -- 绿化面积 + A.ContractTerm, + A.PropertyMgrEntrustType, + CASE + WHEN A.IsContractFiled = '1' THEN '是' + ELSE '否' + END AS 是否办理合同备案 , + A.ProjectDeliverySituation, + A.UnsoldParkingCount, + IF(A.PedEntrExitsCount=0 OR PedEntrExitsCount IS NULL ,'-',PedEntrExitsCount)as PedEntrExitsCount, + IF(A.CarEntrExitsCount=0 OR CarEntrExitsCount IS NULL ,'-',CarEntrExitsCount)as CarEntrExitsCount, + IF(A.MixedEntrExitsCount=0 OR MixedEntrExitsCount IS NULL ,'-',MixedEntrExitsCount)as MixedEntrExitsCount, + IF(A.GuardedEntrExitsCount=0 OR GuardedEntrExitsCount IS NULL ,'-',GuardedEntrExitsCount)as GuardedEntrExitsCount, + IF(A.MonitoringRoomCount=0 OR MonitoringRoomCount IS NULL ,'-',MonitoringRoomCount)as MonitoringRoomCount, + A.IsMonRoomMergedToGate, + A.ContractArea , -- 合同面积 【建筑面积】 + A.TakeOverArea , -- 接管面积 【合约面积】 + A.ManageContractArea ManageContractArea, -- 管理口径合同面积 【在管面积】 +-- ${if(len(p_area) == 0,",'-'",",A.StateName")} as newStateName + A.StateName AS StateName, -- 业态 【项目业态】 + A.ContractName, -- 合同类型 + A.GetMethod, -- 项目获取渠道 + A.ContractPartyName, -- 合同对方名称 + CASE + WHEN A.IsSetCommittee = '1' THEN '是' + ELSE '否' + END AS 是否成立委员会 , -- 是否已成立业主委员会 + A.CommitteeTime, -- 业委会成立时间 + A.ChargeMode, + CONCAT( + DATE_FORMAT(CommitteeTermEndDate, '%Y-%m-%d'), + ' 至 ', + DATE_FORMAT(CommitteeTermStartDate, '%Y-%m-%d') + ) AS 任职天数, -- 任职时间 + C.room_num AS room_num ,-- 总户数 +-- ,A.Province AS Province -- 省 +-- ,A.City AS City -- 市 +-- ,A.County AS County -- 区 + B.organ_code AS organ_code, -- erp片区id + B.organ_name AS organ_name, -- erp片区名称 +-- ,B.comm_id AS -- erp项目id + B.comm_name AS comm_name, -- erp项目名称 + D.`已售面积`, + D.`未售面积` , + E.`已售车位`, + F.`已交付户数`, + F.`已接房数`, + F.`正在装修户数`, + F.`已完成装修户数`, + F.`已完成装修未入住`, + F.`已完成装修已入住`,( + F.`已完成装修已入住` / F.`已交付户数` + ) AS 入住率,( + F.`已完成装修户数` / F.`已交付户数` + ) AS 装修率, + G.收费面积, -- 收费面积 + H.签约时间, + I.住宅高层, + I.住宅多层, + I.别墅, + I.联排物业服务费, + I.叠拼物业服务费, + I.洋房物业费, + I.公寓物业服务费, + I.商铺物业服务费, + I.写字楼物业服务费, + I.幼儿园物业服务费, + I.厂区物业服务费, + I.酒店物业服务费, + I.车位管理物业服务费, + I.车位月租费用 FROM - ( - select - CommId -- 项目id 可关联maping表 - ,ManageKind -- 管理性质 - ,ManageKindName -- 管理性质名称 - ,ContractArea -- 合同面积 合约面积 - ,ManageContractArea-- 管理口径合同面积 在管面积 - ,StateName -- 业态 项目业态 - ,TakeOverArea -- 接管面积 - ,Province -- 省 - ,City -- 市 - ,County -- 区 - from dw.dim_project_base_info_d -- 项目维度表 - )A - JOIN - ( + dw.dim_project_base_info_d A -- 项目维度表 + JOIN ( SELECT organ_code -- erp片区id - ,organ_name -- erp片区名称 - ,comm_id -- erp项目id - ,comm_name -- erp项目名称 - FROM dw.dim_organ_mapping -- 片区项目映射维度表 - where comm_id is not null and comm_name not like '%撤场%' and comm_name not like '%案场%' and comm_name not like '%禁用%' and length(comm_id) != 0 + , + organ_name -- erp片区名称 + , + comm_id -- erp项目id + , + comm_name -- erp项目名称 + + FROM + dw.dim_organ_mapping -- 片区项目映射维度表 + + WHERE + comm_id IS NOT NULL + AND comm_name NOT LIKE '%撤场%' + AND comm_name NOT LIKE '%案场%' + AND comm_name NOT LIKE '%禁用%' + AND length( comm_id ) != 0 GROUP BY organ_code -- erp片区id - ,organ_name -- erp片区名称 - ,comm_id -- erp项目id - ,comm_name -- erp项目名称 - )B - ON A.CommId = B.comm_id - LEFT JOIN - ( + , + organ_name -- erp片区名称 + , + comm_id -- erp项目id + , + comm_name -- erp项目名称 + + ) B ON A.CommId = B.comm_id + LEFT JOIN ( SELECT CommID, count( 1 ) AS room_num -- 项目对应房间数量 + FROM dw.dim_room_d GROUP BY CommID ) C ON A.CommId = C.CommID + LEFT JOIN ( SELECT - CommID - ,count(1) as room_num -- 项目对应房间数量 - FROM dw.dim_room_d + CommID, + SUM( CASE WHEN roomstate IN ( '1', '4', '9', '10', '5', '6' ) THEN buildarea ELSE 0 END ) AS 已售面积, + SUM( CASE WHEN roomstate = '2' THEN buildarea ELSE 0 END ) AS 未售面积 + FROM + dim_room_d GROUP BY CommID - )C - ON A.CommId = C.CommID - where 1 = 1 - ${IF(LEN(p_area)!=0," where t.organ_code IN ('"+JOINARRAY(p_area,"','")+"')","")} - - --- )t --- group by --- ${if(len(p_area) == 0,"t.organ_name","t.comm_name")} -- 片区/项目 --- -- ,t.organ_name -- erp片区名称 --- -- ,t.comm_name -- erp项目名称 --- ,${if(len(p_area) == 0,"'-'","t.ManageKindName")} -- 管理性质名称 --- ,${if(len(p_area) == 0,"'-'","t.StateName")} -- 业态 【项目业态】 -; - - - - - - --- 【筛选框数据集: dic_erp片区】 - - -SELECT DISTINCT - organ_code AS 片区id, - organ_name AS 片区名称 -FROM dim_organ_mapping -; - + ) D ON A.COMMID = D.COMMID + LEFT JOIN ( + SELECT + CommID, + SUM( CASE WHEN ParkingState IN ( '0001', '0003' ) THEN 1 ELSE 0 END ) AS 已售车位 + FROM + ods_erp_tb_hspr_parking_d + GROUP BY + CommID + ) E ON A.COMMID = E.COMMID + LEFT JOIN ( + SELECT + CommID, + SUM( CASE WHEN SaleState = '已售' THEN 1 ELSE 0 END ) AS 已交付户数, + SUM( CASE WHEN roomstate IN ( '4', '9', '10', '5', '6' ) THEN 1 ELSE 0 END ) AS 已接房数, + SUM( CASE WHEN roomstate = '4' THEN 1 ELSE 0 END ) AS 正在装修户数, + SUM( CASE WHEN roomstate IN ( '9', '10', '5', '6' ) THEN 1 ELSE 0 END ) AS 已完成装修户数, + SUM( CASE WHEN roomstate = '5' THEN 1 ELSE 0 END ) AS 已完成装修未入住, + SUM( CASE WHEN roomstate IN ( '9', '10', '6' ) THEN 1 ELSE 0 END ) AS 已完成装修已入住 + FROM + dim_room_d + GROUP BY + CommID + ) F ON A.COMMID = F.COMMID + LEFT JOIN ( SELECT + CommId, + SUM(CalcArea) AS 收费面积 + FROM dim_bind_cost_stan_detail_d + GROUP BY CommId ) G ON A.COMMID = G.COMMID + LEFT JOIN ( + SELECT commid,max(GetTime) AS 签约时间 FROM dim_project_base_info_d GROUP BY CommId + ) H ON A.COMMID = H.COMMID + LEFT JOIN ( + SELECT + A.CommId, + CASE + WHEN SUM(CASE WHEN B.CostName IN ('高层物业服务费', '电梯电费', '公共能耗费') THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName IN ('高层物业服务费', '电梯电费', '公共能耗费') THEN StanAmount ELSE 0 END) + END AS 住宅高层, + -- 住宅多层 + CASE + WHEN SUM(CASE WHEN B.CostName IN ('多层物业服务费', '公共能耗费') THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName IN ('多层物业服务费', '公共能耗费') THEN StanAmount ELSE 0 END) + END AS 住宅多层, + -- 别墅 + CASE + WHEN SUM(CASE WHEN B.CostName IN ('别墅物业服务费', '公共能耗费') THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName IN ('别墅物业服务费', '公共能耗费') THEN StanAmount ELSE 0 END) + END AS 别墅, + -- 联排物业服务费 + CASE + WHEN SUM(CASE WHEN B.CostName = '联排物业服务费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '联排物业服务费' THEN StanAmount ELSE 0 END) + END AS 联排物业服务费, + -- 叠拼物业服务费 + CASE + WHEN SUM(CASE WHEN B.CostName = '叠拼物业服务费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '叠拼物业服务费' THEN StanAmount ELSE 0 END) + END AS 叠拼物业服务费, + -- 洋房物业费 + CASE + WHEN SUM(CASE WHEN B.CostName = '洋房物业费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '洋房物业费' THEN StanAmount ELSE 0 END) + END AS 洋房物业费, + -- 公寓物业服务费 + CASE + WHEN SUM(CASE WHEN B.CostName = '公寓物业服务费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '公寓物业服务费' THEN StanAmount ELSE 0 END) + END AS 公寓物业服务费, + -- 商铺物业服务费 + CASE + WHEN SUM(CASE WHEN B.CostName = '商铺物业服务费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '商铺物业服务费' THEN StanAmount ELSE 0 END) + END AS 商铺物业服务费, + -- 写字楼物业服务费 + CASE + WHEN SUM(CASE WHEN B.CostName = '写字楼物业服务费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '写字楼物业服务费' THEN StanAmount ELSE 0 END) + END AS 写字楼物业服务费, + -- 幼儿园物业服务费 + CASE + WHEN SUM(CASE WHEN B.CostName = '幼儿园物业服务费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '幼儿园物业服务费' THEN StanAmount ELSE 0 END) + END AS 幼儿园物业服务费, + -- 厂区物业服务费 + CASE + WHEN SUM(CASE WHEN B.CostName = '厂区物业服务费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '厂区物业服务费' THEN StanAmount ELSE 0 END) + END AS 厂区物业服务费, + -- 酒店物业服务费 + CASE + WHEN SUM(CASE WHEN B.CostName = '酒店物业服务费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '酒店物业服务费' THEN StanAmount ELSE 0 END) + END AS 酒店物业服务费, + -- 车位管理物业服务费 + CASE + WHEN SUM(CASE WHEN B.CostName = '车位管理物业服务费' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '车位管理物业服务费' THEN StanAmount ELSE 0 END) + END AS 车位管理物业服务费, + -- 车位月租费用 + CASE + WHEN SUM(CASE WHEN B.CostName = '车位月租' THEN StanAmount ELSE 0 END) = 0 THEN '-' + ELSE SUM(CASE WHEN B.CostName = '车位月租' THEN StanAmount ELSE 0 END) + END AS 车位月租费用 + FROM + dim_cost_stand_d A + LEFT JOIN + (SELECT distinct COMMID, COSTID,COSTNAME FROM dim_costitem_d) B ON A.CommID = B.COMMID AND A.CostID = B.COSTID + GROUP BY + A.CommId + ) I ON A.COMMID = I.COMMID +where 1 = 1 + ${IF(LEN(p_area)!=0," and B.organ_code IN ('"+p_area+"')","")} + ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")} \ No newline at end of file