-- ============================================= -- 门店耗卡业绩统计视图创建脚本 -- 功能:统计所有门店的目标业绩、耗卡业绩、完成率等关键指标 -- 作者:系统自动生成 -- 创建时间:2025年 -- ============================================= -- 先删除视图(如果存在) DROP VIEW IF EXISTS v_store_consume_performance_simple; -- ============================================= -- 创建门店耗卡业绩统计视图(当月数据) -- ============================================= CREATE VIEW v_store_consume_performance_simple AS SELECT `md`.`F_Id` AS `store_id`, `md`.`djmd` AS `store_code`, `md`.`dm` AS `store_name`, COALESCE(`md`.`xsyj`, 0) AS `target_performance`, COALESCE(`consume`.`consume_performance`, 0) AS `actual_performance`, ( CASE WHEN (COALESCE(`md`.`xsyj`, 0) > 0) THEN round( ( ( COALESCE(`consume`.`consume_performance`, 0) / `md`.`xsyj` ) * 100 ), 2 ) ELSE 0 END ) AS `completion_rate`, COALESCE(`consume`.`consume_count`, 0) AS `order_count` FROM ( `lqerp`.`lq_mdxx` `md` LEFT JOIN ( SELECT `hk`.`md` AS `md`, sum(COALESCE(`px`.`F_TotalPrice`, 0)) AS `consume_performance`, count(DISTINCT `hk`.`F_Id`) AS `consume_count` FROM ( `lqerp`.`lq_xh_hyhk` `hk` LEFT JOIN `lqerp`.`lq_xh_pxmx` `px` ON ((`hk`.`F_Id` = `px`.`glkdbh`)) ) WHERE ( ( YEAR(`hk`.`hksj`) = YEAR(curdate()) ) AND ( MONTH(`hk`.`hksj`) = MONTH(curdate()) ) AND ( isnull(`px`.`F_CreateTIme`) OR ( ( YEAR(`px`.`F_CreateTIme`) = YEAR(curdate()) ) AND ( MONTH(`px`.`F_CreateTIme`) = MONTH(curdate()) ) ) ) ) GROUP BY `hk`.`md` ) `consume` ON ((`md`.`F_Id` = `consume`.`md`)) ) ORDER BY COALESCE(`consume`.`consume_performance`, 0) DESC; -- ============================================= -- 添加视图注释 -- ============================================= ALTER VIEW v_store_consume_performance_simple COMMENT = '门店耗卡业绩统计视图(当月数据)- 统计所有门店的目标业绩、耗卡业绩、完成率等关键指标'; -- ============================================= -- 视图字段说明 -- ============================================= /* 字段说明: - store_id: 门店ID(来自lq_mdxx.F_Id) - store_code: 门店编码(来自lq_mdxx.djmd) - store_name: 店名(来自lq_mdxx.dm) - target_performance: 目标业绩/生命线(来自lq_mdxx.xsyj) - actual_performance: 耗卡业绩(来自lq_xh_pxmx.F_TotalPrice的汇总) - completion_rate: 完成率百分比(actual_performance / target_performance * 100) - order_count: 耗卡记录数(有效耗卡记录数) 关联说明: - 主表:lq_mdxx(门店信息表) - 关联表:lq_xh_hyhk(耗卡记录表)+ lq_xh_pxmx(耗卡品项表) - 关联条件:lq_mdxx.F_Id = lq_xh_hyhk.md, lq_xh_hyhk.F_Id = lq_xh_pxmx.glkdbh - 关联方式:LEFT JOIN(确保所有门店都显示,包括没有耗卡记录的门店) 数据来源: - 目标业绩:lq_mdxx.xsyj(目标-门店生命线) - 耗卡业绩:lq_xh_pxmx.F_TotalPrice(金额合计) - 耗卡记录数:lq_xh_hyhk表记录数统计 时间过滤: - 耗卡日期:lq_xh_hyhk.hksj(当月) - 品项创建时间:lq_xh_pxmx.F_CreateTIme(当月) 注意事项: 1. 使用金额合计(F_TotalPrice)而不是品项价格(pxjg) 2. 只统计当月的数据(耗卡日期和品项创建时间都是当月) 3. 即使目标业绩、耗卡业绩为0的门店也会显示 4. 完成率计算时,目标业绩为0的门店显示0%完成率 5. 按耗卡业绩降序排列,便于查看业绩排名 6. 确保耗卡品项也是当月创建的,避免历史数据干扰 */ -- ============================================= -- 使用示例 -- ============================================= /* -- 查看所有门店当月耗卡业绩 SELECT * FROM v_store_consume_performance_simple; -- 查看华润店当月耗卡业绩 SELECT * FROM v_store_consume_performance_simple WHERE store_name LIKE '%华润%'; -- 查看已完成目标的门店(当月耗卡) SELECT * FROM v_store_consume_performance_simple WHERE completion_rate >= 100; -- 查看零耗卡业绩的门店(当月) SELECT * FROM v_store_consume_performance_simple WHERE actual_performance = 0; -- 按完成率排名(当月耗卡) SELECT * FROM v_store_consume_performance_simple WHERE target_performance > 0 ORDER BY completion_rate DESC; -- 查看当月耗卡业绩前10名门店 SELECT * FROM v_store_consume_performance_simple ORDER BY actual_performance DESC LIMIT 10; -- 查看当月完成率低于50%的门店 SELECT * FROM v_store_consume_performance_simple WHERE completion_rate < 50 AND target_performance > 0; */