科技部驾驶舱数据分析梳理.md
28.5 KB
科技部驾驶舱数据分析梳理
📋 概述
本文档梳理科技部驾驶舱可以统计分析的数据维度。科技部分为科技一部和科技二部,主要关注科美项目(溯源和Cell)的业绩数据。
重要说明:这是科技部维度的驾驶舱,数据统计按照科技部(一部/二部)进行,不涉及总经理维度。
⚠️ 重要说明:月份维度
所有统计数据都必须按月份统计,且不同月份科技部管理的门店可能不一致。
- 月份是核心维度:所有指标、排行、趋势、对比等数据都必须按月份统计,不能跨月汇总(除非明确说明是累计数据)
- 门店归属按月变化:门店的科技部归属关系存储在
lq_md_target表中,通过F_TechDepartment字段(BASE_ORGANIZE表的组织ID)和F_Month字段(YYYYMM格式)区分不同月份 - 数据筛选规则:
- 查询指定月份的统计数据时,必须先从
lq_md_target表获取该月份、该科技部归属的门店列表(F_TechDepartment = @科技部ID(BASE_ORGANIZE表的组织ID),F_Month = @统计月份) - 然后使用该门店列表筛选业绩数据,确保只统计该月份归属该科技部的门店
- 业绩数据的时间过滤使用业绩时间字段(
yjsj、hksj、tksj)按月份过滤
- 查询指定月份的统计数据时,必须先从
- 趋势分析:虽然趋势图展示多个月份,但每个月份的数据都是独立计算的,使用该月份的门店归属关系
🎯 一、核心业务指标(关键指标卡片)
1.1 整体业绩指标
1.1.1 溯源金额
- 说明:管理的所有门店中,品项的
F_BeautyType为 "溯源系统" 或 "溯源" 的健康师业绩总和 - 计算方式:开单溯源金额 - 退卡溯源金额
- 数据来源:
- 开单:
lq_kd_jksyj表(F_BeautyType= '溯源系统' 或 '溯源') - 退卡:
lq_hytk_jksyj表(F_BeautyType= '溯源系统' 或 '溯源')
- 开单:
- 时间维度:必须按月份统计(YYYYMM格式)
- 门店筛选:使用
lq_md_target表获取指定月份(F_Month)、指定科技部(F_TechDepartment)归属的门店列表 - 时间过滤:使用业绩时间字段(
yjsj、tksj)按月份过滤 - 对比维度:环比(与上月对比)、同比(与去年同月对比)
1.1.2 Cell金额
- 说明:管理的所有门店中,品项的
F_BeautyType为 "cell" 或 "Cell" 的健康师业绩总和 - 计算方式:开单Cell金额 - 退卡Cell金额
- 数据来源:
- 开单:
lq_kd_jksyj表(F_BeautyType= 'cell' 或 'Cell') - 退卡:
lq_hytk_jksyj表(F_BeautyType= 'cell' 或 'Cell')
- 开单:
- 时间维度:必须按月份统计(YYYYMM格式)
- 门店筛选:使用
lq_md_target表获取指定月份(F_Month)、指定科技部(F_TechDepartment)归属的门店列表 - 时间过滤:使用业绩时间字段(
yjsj、tksj)按月份过滤 - 对比维度:环比(与上月对比)、同比(与去年同月对比)
1.1.3 科美总收入(溯源 + Cell)
- 说明:管理的所有门店的科美项目总收入
- 计算方式:溯源金额 + Cell金额
- 用途:用于股份统计中的收入计算(收入的30%)
1.1.4 管理的门店数
- 说明:指定月份归属该科技部的门店总数
- 数据来源:
lq_md_target表 - 计算方式:
sql SELECT COUNT(DISTINCT F_StoreId) FROM lq_md_target WHERE F_TechDepartment = @科技部ID -- BASE_ORGANIZE表的组织ID(F_Id) AND F_Month = @统计月份 - 重要说明:必须按月份统计,不同月份管理的门店数量可能不同
1.1.5 活跃门店数
- 说明:指定月份归属该科技部的门店中,有科美开单或消耗的门店数量
- 计算方式:
- 先从
lq_md_target表获取指定月份、指定科技部归属的门店列表 - 统计这些门店中,在指定月份有科美开单或消耗的门店数量(去重)
- 先从
- 时间维度:必须按月份统计
1.2 股份相关指标(基于股份统计表)
1.2.1 收入
- 说明:管理的门店科美开单的30%(需减去退款)
- 计算公式:(科美开单金额 - 科美退卡金额) × 30%
- 数据来源:
- 开单:
lq_kd_pxmx表(F_BeautyType= 科美)关联lq_kd_kdjlb - 退卡:
lq_hytk_jksyj或lq_hytk_hytk表
- 开单:
- 时间维度:必须按月份统计
- 门店筛选:使用
lq_md_target表获取指定月份、指定科技部归属的门店列表
1.2.2 成本-报销
- 说明:报销费用里面的"科技部报销"
- 数据来源:
lq_reimbursement_application、lq_reimbursement_category表 - 筛选条件:
- 一级分类为"科技部报销"
- 根据申请门店的归属区分一部/二部
- 必须按月份统计,根据报销申请时间或审批时间按月份过滤
1.2.3 成本-人工
- 科技部老师底薪:
lq_tech_teacher_salary_statistics表的F_ActualBaseSalary(按F_StatisticsMonth字段过滤) - 科技部老师手工费:
lq_xh_kjbsyj表的F_LaborCost(F_BeautyType= 科美,按消耗时间hksj按月份过滤) - 科技部老师开单提成:
lq_tech_teacher_salary_statistics表的开单提成字段(按F_StatisticsMonth字段过滤) - 科技部老师消耗提成:
lq_tech_teacher_salary_statistics表的消耗提成字段(按F_StatisticsMonth字段过滤) - 科技部总经理底薪:
lq_tech_general_manager_salary_statistics表的F_BaseSalary(固定4000元,按F_StatisticsMonth字段过滤,需要汇总该科技部所有总经理的底薪) - 科技部总经理提成:
lq_tech_general_manager_salary_statistics表的提成字段(溯源提成 + Cell提成,按F_StatisticsMonth字段过滤,需要汇总该科技部所有总经理的提成) - 重要说明:
- 所有人工成本数据都必须按月份统计,使用工资统计表的
F_StatisticsMonth字段或消耗表的消耗时间字段进行过滤 - 总经理相关的成本需要汇总该科技部所有总经理的数据(可通过岗位字段
F_GW关联BASE_USER表识别科技部总经理)
- 所有人工成本数据都必须按月份统计,使用工资统计表的
1.2.4 利润
- 计算公式:利润 = 收入 - 成本报销 - 成本人工(所有人工成本项)
- 数据来源:
lq_share_statistics_tech_dept表
📊 二、趋势分析数据
2.1 业绩趋势
2.1.1 溯源金额趋势
- 时间维度:近12个月、近6个月、近3个月、当月
- 图表类型:折线图
- 指标:月度溯源金额、累计溯源金额
- 对比:支持环比、同比对比
2.1.2 Cell金额趋势
- 时间维度:近12个月、近6个月、近3个月、当月
- 图表类型:折线图
- 指标:月度Cell金额、累计Cell金额
- 对比:支持环比、同比对比
2.1.3 科美总收入趋势
- 时间维度:近12个月、近6个月、近3个月、当月
- 图表类型:折线图
- 指标:月度总收入、累计总收入
2.1.4 溯源与Cell对比趋势
- 图表类型:双折线图
- 指标:溯源金额 vs Cell金额
- 用途:分析两种类型的业绩占比变化
2.2 股份趋势
2.2.1 收入趋势
- 时间维度:近12个月、近6个月、近3个月、当月
- 图表类型:折线图
- 指标:月度收入、累计收入
2.2.2 成本趋势
- 时间维度:近12个月、近6个月、近3个月、当月
- 图表类型:堆叠柱状图
- 指标:
- 成本-报销
- 成本-人工-老师底薪
- 成本-人工-老师手工费
- 成本-人工-老师开单提成
- 成本-人工-老师消耗提成
- 成本-人工-总经理底薪
- 成本-人工-总经理提成
2.2.3 利润趋势
- 时间维度:近12个月、近6个月、近3个月、当月
- 图表类型:折线图或面积图
- 指标:月度利润、累计利润、利润率
🏪 三、门店分析数据
3.1 门店业绩排行
3.1.1 门店溯源金额排行
- 排序方式:按溯源金额降序
- 展示字段:门店名称、溯源金额、占比、排名
- 图表类型:条形图、表格
- 筛选条件:支持按月份筛选
3.1.2 门店Cell金额排行
- 排序方式:按Cell金额降序
- 展示字段:门店名称、Cell金额、占比、排名
- 图表类型:条形图、表格
- 筛选条件:支持按月份筛选
3.1.3 门店科美总收入排行
- 排序方式:按科美总收入降序
- 展示字段:门店名称、科美总收入、占比、排名
- 图表类型:条形图、表格
- 筛选条件:支持按月份筛选
3.2 门店业绩明细
3.2.1 门店业绩分布
- 图表类型:饼图或环形图
- 展示内容:各门店的溯源金额、Cell金额占比
- 用途:了解门店业绩贡献度分布
3.2.2 门店业绩对比
- 图表类型:柱状图或折线图
- 展示内容:多个门店的溯源金额、Cell金额对比
- 支持功能:多门店选择对比
👥 四、人员分析数据
说明:科技部驾驶舱是科技部维度,不涉及总经理维度的统计。人员分析主要关注科技部老师的业绩情况。总经理相关的数据只在成本统计中作为人工成本的一部分进行汇总。
注意:虽然科技部有总经理,但驾驶舱数据统计是按科技部维度,不按总经理维度。总经理的成本数据会汇总到人工成本中,但不单独展示总经理业绩。
4.1 科技部老师业绩
4.1.1 老师业绩排行
- 排序方式:按总业绩或消耗业绩降序
- 展示字段:
- 老师姓名、所属门店
- 开单业绩、消耗业绩、退卡业绩
- 总业绩、项目数
- 底薪、业绩提成、消耗提成
- 应发工资
- 数据来源:
lq_tech_teacher_salary_statistics表 - 筛选条件:支持按月份、门店筛选
4.1.2 老师业绩分布
- 图表类型:饼图或环形图
- 展示内容:各老师的业绩占比
- 用途:了解老师业绩贡献度分布
4.1.3 老师业绩趋势
- 图表类型:折线图
- 展示内容:指定老师的近12个月业绩趋势
- 支持功能:多老师选择对比
📈 五、运营分析数据
5.1 开单分析
5.1.1 开单次数
- 说明:管理的门店科美项目开单总次数
- 数据来源:
lq_kd_kdjlb表关联lq_kd_pxmx表(F_BeautyType= 科美) - 时间维度:按月统计
- 对比维度:环比、同比
5.1.2 平均开单金额
- 计算公式:科美总收入 / 开单次数
- 时间维度:按月统计
5.1.3 开单门店分布
- 图表类型:饼图
- 展示内容:各门店的开单次数占比
5.2 消耗分析
5.2.1 消耗次数
- 说明:管理的门店科美项目消耗总次数
- 数据来源:
lq_xh_hyhk表关联lq_xh_pxmx表(F_BeautyType= 科美) - 时间维度:按月统计
5.2.2 消耗金额
- 说明:管理的门店科美项目消耗总金额
- 数据来源:
lq_xh_hyhk表关联lq_xh_pxmx表 - 时间维度:按月统计
5.2.3 消耗率
- 计算公式:消耗金额 / 开单金额 × 100%
- 用途:分析业绩转化情况
5.3 退卡分析
5.3.1 退卡次数
- 说明:管理的门店科美项目退卡总次数
- 数据来源:
lq_hytk_hytk表关联退卡明细(科美项目) - 时间维度:按月统计
5.3.2 退卡金额
- 说明:管理的门店科美项目退卡总金额
- 数据来源:
lq_hytk_hytk表关联退卡明细(科美项目) - 时间维度:按月统计
5.3.3 退卡率
- 计算公式:退卡金额 / 开单金额 × 100%
- 用途:分析退卡情况,评估风险
🔍 六、对比分析数据
6.1 时间对比
6.1.1 环比对比
- 对比指标:溯源金额、Cell金额、科美总收入、收入、成本、利润
- 计算方式:(当月 - 上月) / 上月 × 100%
- 展示方式:数值 + 百分比 + 箭头(上升/下降)
6.1.2 同比对比
- 对比指标:溯源金额、Cell金额、科美总收入、收入、成本、利润
- 计算方式:(当月 - 去年同月) / 去年同月 × 100%
- 展示方式:数值 + 百分比 + 箭头(上升/下降)
6.2 部门对比
6.2.1 科技一部 vs 科技二部
- 对比指标:
- 溯源金额、Cell金额、科美总收入
- 管理的门店数、活跃门店数
- 收入、成本、利润
- 总经理数量、老师数量
- 图表类型:柱状图、折线图
- 用途:了解两个部门的业绩对比
6.3 门店类型对比
6.3.1 按门店类型分组统计
- 分组维度:门店类型(200平/旗舰店)、门店类别(A/B/C类)
- 统计指标:溯源金额、Cell金额、科美总收入
- 图表类型:柱状图、饼图
- 用途:分析不同门店类型的业绩表现
📋 七、明细数据列表
7.1 门店明细列表
7.1.1 管理的门店列表
- 展示字段:
- 门店名称、门店类型、门店类别
- 归属月份
- 溯源金额(开单、退卡、净额)
- Cell金额(开单、退卡、净额)
- 科美总收入
- 开单次数、消耗次数、退卡次数
- 功能:支持排序、筛选、导出
7.2 老师明细列表
7.2.1 科技部老师列表
- 展示字段:
- 老师姓名、所属门店、老师账号
- 开单业绩、消耗业绩、退卡业绩
- 总业绩、项目数
- 底薪、业绩提成、消耗提成、应发工资
- 功能:支持排序、筛选、导出
- 数据来源:
lq_tech_teacher_salary_statistics表
7.3 开单明细列表
7.3.1 科美开单明细
- 展示字段:
- 开单日期、门店名称、会员姓名
- 品项名称、科美类型(溯源/Cell)
- 开单金额、实付金额
- 健康师、科技部老师
- 功能:支持排序、筛选、导出、分页
- 数据来源:
lq_kd_kdjlb表关联lq_kd_pxmx表
7.4 消耗明细列表
7.4.1 科美消耗明细
- 展示字段:
- 消耗日期、门店名称、会员姓名
- 品项名称、科美类型(溯源/Cell)
- 消耗金额、消耗次数
- 健康师、科技部老师
- 功能:支持排序、筛选、导出、分页
- 数据来源:
lq_xh_hyhk表关联lq_xh_pxmx表
🎨 八、数据可视化建议
8.1 核心指标卡片(顶部)
- 溯源金额(当月、环比、同比)
- Cell金额(当月、环比、同比)
- 科美总收入(当月、环比、同比)
- 管理的门店数
- 活跃门店数
- 收入(当月、环比、同比)
- 成本(当月、环比、同比)
- 利润(当月、环比、同比、利润率)
8.2 趋势图表区域
- 业绩趋势(溯源、Cell、总收入)- 折线图
- 股份趋势(收入、成本、利润)- 折线图/堆叠柱状图
- 溯源与Cell对比趋势 - 双折线图
8.3 排行图表区域
- 门店业绩排行(溯源、Cell、总收入)- 条形图
- 老师业绩排行 - 条形图或表格
8.4 分布图表区域
- 门店业绩分布 - 饼图/环形图
- 老师业绩分布 - 饼图/环形图
- 成本结构分布 - 饼图/堆叠柱状图
8.5 对比图表区域
- 科技一部 vs 科技二部对比 - 柱状图
- 门店类型对比 - 柱状图
8.6 明细列表区域
- 门店明细列表
- 老师明细列表
- 开单明细列表(可选)
- 消耗明细列表(可选)
📝 九、数据来源总结
9.1 核心数据表
| 数据表 | 用途 | 关键字段 |
|---|---|---|
lq_md_target |
门店目标表(包含门店归属科技部信息) | F_StoreId, F_Month, F_TechDepartment |
lq_kd_jksyj |
开单健康师业绩(溯源/Cell) | jksyj, F_BeautyType, F_StoreId, yjsj |
lq_hytk_jksyj |
退卡健康师业绩(溯源/Cell) | jksyj, F_BeautyType, F_StoreId, tksj |
lq_kd_kdjlb |
开单记录 | sfyj, kdrq, djmd |
lq_kd_pxmx |
开单品项明细 | F_ActualPrice, F_BeautyType |
lq_xh_hyhk |
消耗记录 | xfje, hksj, md |
lq_xh_pxmx |
消耗品项明细 | F_BeautyType |
lq_hytk_hytk |
退卡记录 | tkje, tksj, md |
lq_tech_general_manager_salary_statistics |
科技部总经理工资统计 | F_TraceabilityAmount, F_CellAmount, F_BaseSalary, F_TraceabilityCommissionAmount, F_CellCommissionAmount |
lq_tech_teacher_salary_statistics |
科技部老师工资统计 | F_OrderAchievement, F_ConsumeAchievement, F_TotalPerformance |
lq_share_statistics_tech_dept |
科技部股份统计 | F_Income, F_CostReimbursement, F_CostTeacherBase, F_CostTeacherManual, F_CostTeacherBillingComm, F_CostTeacherConsumeComm, F_CostGMBase, F_CostGMComm, F_Profit |
BASE_USER |
用户信息(科技部总经理、老师) | F_Id, F_REALNAME, F_GW, F_MDID |
9.2 数据关联关系
- 科技部识别:通过
BASE_ORGANIZE表的组织ID(F_Id)识别,而不是使用中文名称 - 管理的门店(按月获取):
sql SELECT DISTINCT F_StoreId FROM lq_md_target WHERE F_TechDepartment = @科技部ID -- BASE_ORGANIZE表的组织ID(F_Id) AND F_Month = @统计月份 -- ⚠️ 必须按月份匹配,格式:YYYYMM - 业绩统计:
- 通过
F_StoreId关联门店(使用上面获取的门店列表) - 通过
F_BeautyType区分溯源和Cell - 时间过滤:通过业绩时间字段(
yjsj、hksj、tksj)按月份过滤
- 通过
- 重要规则:
- 必须先获取指定月份的门店归属关系,从
lq_md_target表按F_TechDepartment和F_Month获取,再使用该门店列表筛选业绩数据 - 不能跨月汇总:每个月份的数据必须独立计算,使用该月份的门店归属关系
- 趋势分析:虽然展示多个月份,但每个月份的数据都是独立计算的
- 必须先获取指定月份的门店归属关系,从
🔧 十、接口设计说明
10.1 接口参数设计
科技部驾驶舱接口参数设计:兼容两种方式,既可以传入科技部ID(组织ID),也可以传入门店ID列表。
接口输入参数
public class TechDepartmentDashboardStatisticsInput
{
/// <summary>
/// 科技部ID(可选):BASE_ORGANIZE表的组织ID(F_Id)
/// 如果传入科技部ID,则从lq_md_target表查询该月份、该科技部归属的门店列表
/// 如果传入门店ID列表,则直接使用门店ID列表
/// 两者必填其一
/// </summary>
public string TechDepartmentId { get; set; }
/// <summary>
/// 门店ID列表(可选)
/// 如果传入科技部ID,则此字段忽略,使用科技部ID查询门店列表
/// 如果传入门店ID列表,则直接使用此列表
/// 两者必填其一
/// </summary>
public List<string> StoreIds { get; set; }
/// <summary>
/// 统计月份(必填):YYYYMM格式,如:202501
/// </summary>
[Required(ErrorMessage = "统计月份不能为空")]
[StringLength(6, MinimumLength = 6, ErrorMessage = "统计月份格式必须为YYYYMM")]
public string StatisticsMonth { get; set; }
}
设计理由
兼容两种使用场景:
科技部维度(推荐使用):
- 传入科技部ID(BASE_ORGANIZE表的组织ID)+ 统计月份
- 适用于科技部驾驶舱页面,用户选择科技部查看数据
- 后端根据统计月份从
lq_md_target表查询该科技部归属的门店列表 - 优势:数据准确性高,门店归属变化时自动适应,使用ID而非名称,避免名称变更影响
门店列表维度(灵活使用):
- 传入门店ID列表 + 统计月份
- 适用于其他场景,如自定义门店组合、门店对比等
- 后端直接使用传入的门店ID列表
- 优势:灵活性高,可以跨科技部组合门店
参数验证逻辑
// 参数验证
if (string.IsNullOrWhiteSpace(input.TechDepartmentId) &&
(input.StoreIds == null || !input.StoreIds.Any()))
{
throw NCCException.Oh("科技部ID和门店ID列表不能同时为空,必须传入其中一个");
}
if (!string.IsNullOrWhiteSpace(input.TechDepartmentId) &&
input.StoreIds != null && input.StoreIds.Any())
{
// 如果同时传入,优先使用科技部ID,门店ID列表将被忽略
// 或者抛出异常,要求只能传入一个
throw NCCException.Oh("科技部ID和门店ID列表不能同时传入,请只传入其中一个");
}
后端处理流程
方式1:传入科技部ID
- 接收参数:科技部ID(BASE_ORGANIZE表的组织ID)+ 统计月份
- 查询门店列表:从
lq_md_target表查询该月份、该科技部归属的门店ID列表sql SELECT DISTINCT F_StoreId FROM lq_md_target WHERE F_TechDepartment = @科技部ID AND F_Month = @统计月份说明:F_TechDepartment字段存储的是BASE_ORGANIZE表的组织ID(F_Id),而不是组织名称 - 统计业绩数据:使用查询到的门店ID列表筛选业绩数据
- 返回统计结果
方式2:传入门店ID列表
- 接收参数:门店ID列表 + 统计月份
- 直接使用门店ID列表(无需查询门店归属关系)
- 统计业绩数据:使用传入的门店ID列表筛选业绩数据
- 返回统计结果
示例请求
示例1:传入科技部ID(推荐)
{
"techDepartmentId": "1649328471923847169",
"statisticsMonth": "202501"
}
说明:techDepartmentId 是 BASE_ORGANIZE 表中科技一部或科技二部的组织ID(F_Id),不是中文名称。使用ID而非名称,避免中文名称变更影响接口调用。
示例2:传入门店ID列表
{
"storeIds": ["1649328471923847169", "1649328471923847170", "1649328471923847171"],
"statisticsMonth": "202501"
}
使用建议
- 科技部驾驶舱页面:使用方式1(传入科技部ID),更符合业务逻辑,数据准确性高,使用ID而非名称,避免名称变更影响
- 其他场景:使用方式2(传入门店ID列表),灵活性高,可以自定义门店组合
科技部ID获取方式
科技部ID从 BASE_ORGANIZE 表获取,通过组织名称查询:
SELECT F_Id, F_FullName
FROM BASE_ORGANIZE
WHERE F_FullName LIKE '%科技一部%' OR F_FullName LIKE '%科技二部%'
AND F_DeleteMark IS NULL
AND F_EnabledMark = 1
前端可以通过组织选择器或下拉列表获取科技部ID列表,供用户选择。
🔧 十一、数据查询流程(重要)
11.1 标准查询流程
所有科技部驾驶舱数据查询都必须遵循以下流程:
步骤1:确定门店列表(两种方式)
方式1:传入科技部ID
- 从接口参数获取科技部ID(BASE_ORGANIZE表的组织ID)和统计月份
- 从
lq_md_target表查询该月份、该科技部归属的门店列表sql SELECT DISTINCT F_StoreId FROM lq_md_target WHERE F_TechDepartment = @科技部ID -- BASE_ORGANIZE表的组织ID(F_Id) AND F_Month = @统计月份 -- ⚠️ 必须按月份匹配,格式:YYYYMM - 重要说明:
F_Month字段格式为 YYYYMM(如:202501)F_TechDepartment字段存储的是BASE_ORGANIZE表的组织ID(F_Id),而不是组织名称- 不同月份,管理的门店列表可能不同
- 如果该月份没有归属该科技部的门店,返回空列表,所有业绩数据为0
方式2:传入门店ID列表
- 直接使用接口参数中的门店ID列表
- 无需查询门店归属关系,直接使用传入的门店列表
步骤2:使用门店列表统计业绩数据
-- 示例:统计指定月份的溯源金额
SELECT COALESCE(SUM(CAST(jksyj AS DECIMAL(18,2))), 0) as TraceabilityAmount
FROM lq_kd_jksyj
WHERE F_IsEffective = 1
AND F_StoreId IN (@门店ID列表) -- ⚠️ 使用步骤1获取或传入的门店列表
AND (F_BeautyType = '溯源系统' OR F_BeautyType = '溯源')
AND DATE_FORMAT(yjsj, '%Y%m') = @统计月份 -- ⚠️ 按月份过滤业绩时间
11.2 趋势分析查询流程
趋势分析虽然展示多个月份,但每个月份的数据都是独立计算的:
-- 示例:获取近12个月的溯源金额趋势
-- 需要循环12个月,每个月都执行以下步骤:
FOR EACH 月份 IN (近12个月列表) DO
1. 获取该月份、该科技部归属的门店列表(步骤2)
2. 使用该门店列表统计该月份的溯源金额(步骤3)
3. 将结果添加到趋势数据中
END FOR
重要规则:
- 每个月份使用该月份的门店归属关系
- 不能跨月汇总,必须按月独立计算
- 如果某个月份没有管理的门店,该月份的数据为0
11.3 数据查询注意事项
- 月份格式统一:所有月份参数统一使用 YYYYMM 格式(如:202501)
- 门店归属必须按月获取:不能使用当前月份的门店列表去查询历史月份的数据
- 业绩时间过滤:使用业绩时间字段(
yjsj、hksj、tksj)按月份过滤,格式:DATE_FORMAT(时间字段, '%Y%m') = @统计月份 - 工资统计表:使用
F_StatisticsMonth字段过滤,格式:F_StatisticsMonth = @统计月份 - 股份统计表:使用
F_StatisticsMonth字段过滤,格式:F_StatisticsMonth = @统计月份
🔧 十二、技术实现建议
12.1 数据聚合策略
- 实时查询:核心指标使用实时查询,确保数据准确性
- 缓存优化:对于历史月份数据,可以考虑缓存优化
- 分页查询:明细列表必须支持分页,避免大数据量查询
12.2 性能优化
- 索引优化:在关键查询字段上建立索引(
F_StoreId、F_BeautyType、时间字段等) - SQL优化:使用聚合查询,避免在应用层进行大量数据计算
- 数据预聚合:可以考虑创建统计视图或物化视图
12.3 数据一致性
- 统一数据源:业绩数据统一使用健康师业绩表,确保数据一致性
- 时间范围:统一使用业绩时间(
yjsj、hksj、tksj)进行时间过滤,必须按月份过滤 - 归属关系(关键):
- 必须按月获取门店归属:查询指定月份的统计数据时,必须先从
lq_md_target表获取该月份(F_Month)、该科技部(F_TechDepartment)归属的门店列表 - 不能跨月汇总:每个月份的数据必须独立计算,使用该月份的门店归属关系
- 趋势分析:虽然趋势图展示多个月份,但每个月份的数据都是独立计算的,每个月份使用该月份的门店归属关系
- 必须按月获取门店归属:查询指定月份的统计数据时,必须先从
- 月份匹配规则:
- 门店归属:
lq_md_target.F_Month = @统计月份 AND lq_md_target.F_TechDepartment = @科技部ID(BASE_ORGANIZE表的组织ID) - 业绩时间:
DATE_FORMAT(yjsj, '%Y%m') = @统计月份或DATE_FORMAT(hksj, '%Y%m') = @统计月份等 - 工资统计:
lq_tech_*_salary_statistics.F_StatisticsMonth = @统计月份 - 股份统计:
lq_share_statistics_tech_dept.F_StatisticsMonth = @统计月份
- 门店归属:
✅ 总结
科技部驾驶舱主要关注以下核心数据:
- 业绩指标:溯源金额、Cell金额、科美总收入
- 股份指标:收入、成本、利润
- 门店分析:管理的门店业绩排行、分布、对比
- 人员分析:科技部老师业绩排行(总经理成本数据汇总在人工成本中)
- 趋势分析:近12个月的业绩趋势、股份趋势
- 对比分析:环比、同比、部门对比、门店类型对比
- 明细数据:门店明细、老师明细、开单明细、消耗明细
⚠️ 核心规则
- 所有数据必须按月份统计:每个指标、排行、趋势、对比等数据都必须按月份(YYYYMM格式)统计
- 门店归属按月变化:不同月份科技部管理的门店可能不一致,必须从
lq_md_target表按月获取门店归属关系(通过F_TechDepartment和F_Month字段) - 数据筛选流程:
- 步骤1:从
lq_md_target表获取指定月份(F_Month)、指定科技部(F_TechDepartment)归属的门店列表 - 步骤2:使用该门店列表筛选业绩数据
- 步骤3:使用业绩时间字段(
yjsj、hksj、tksj)按月份过滤
- 步骤1:从
- 不能跨月汇总:每个月份的数据必须独立计算,使用该月份的门店归属关系
- 趋势分析:虽然趋势图展示多个月份,但每个月份的数据都是独立计算的
- 部门区分:所有数据都需要按照科技部(一部/二部)进行区分