需要补充的数据清单
日期:2026-08-02
基于数据库实际表结构和行数验证
一、可从现有数据自动ETL生成(无需人工录入)
1. dim_member — 会员主数据(空表 → 可从bill_fact聚合)
| 字段 |
来源 |
生成方式 |
member_id |
bill_fact.member_id |
DISTINCT 提取8.3万个会员ID |
register_store |
bill_fact.store_code |
该会员首笔消费的门店 |
register_date |
bill_fact.opened_at |
该会员首笔消费日期 |
register_channel |
bill_fact 各平台收入字段 |
首笔消费的支付渠道判断 |
member_level |
bill_fact.member_level |
取最新等级(需标准化:1-7 → 普通/银卡/金卡/钻石) |
total_orders |
bill_fact |
按member_id COUNT(DISTINCT bill_no) |
total_revenue |
bill_fact.received_total |
按member_id SUM |
last_order_date |
bill_fact.opened_at |
按member_id MAX |
status |
计算 |
活跃(30天内有消费)/沉睡(90天内)/流失(>90天) |
2. dim_employee — 员工主数据(空表 → 可从salary/attendance聚合)
| 字段 |
来源 |
生成方式 |
employee_id |
salary_detail_records.employee_code |
DISTINCT 提取3,326个员工编码 |
employee_name |
需人工补录 |
薪资表无姓名字段 |
position |
salary_detail_records.position |
直接取(262种岗位需标准化) |
store_code |
salary_detail_records.org_level3 |
需映射org_level3到门店编码 |
hire_date |
salary_detail_records.hire_date |
直接取(text格式需转date) |
leave_date |
salary_detail_records.leave_date |
直接取(非空则为离职) |
status |
计算 |
在职(hire_date有值且leave_date为空)/离职 |
3. dim_sku — SKU主数据(空表 → 可从dish_sales_details聚合)
| 字段 |
来源 |
生成方式 |
sku_code |
需人工生成 |
当前无SKU编码体系,需建立编码规则 |
standard_name |
dish_sales_details.dish_name |
DISTINCT 提取1,745个菜品名 |
category_l1 |
dish_sales_details.category_level1 |
直接取(53个一级分类) |
category_l2 |
dish_sales_details.category_level2 |
直接取(59个二级分类) |
abc_class |
mv_dish_sku_abc_monthly.abc_class |
取最新月度分类 |
status |
需人工判断 |
在售/停用/季节停 |
tags |
需人工标记 |
新品/季节品/区域品/战略品 |
4. dim_channel — 渠道主数据(空表 → 可从bill_fact字段推断)
| 字段 |
来源 |
生成方式 |
channel_code |
人工定义 |
堂食/美团外卖/淘宝外卖/京东外卖/支付宝/微信/现金/银联/抖音 |
channel_name |
人工定义 |
对应中文名 |
channel_group |
人工定义 |
堂食/外卖/支付 |
commission_rate |
需人工录入 |
各平台佣金率% |
二、需人工补录的数据
5. dim_store 补充字段(91行已有,但关键字段为空)
| 字段 |
现状 |
需补录内容 |
open_date |
大部分为空 |
91家店的开业日期(需查档案) |
area_sqm |
大部分为空 |
91家店的营业面积(㎡) |
seat_count |
大部分为空 |
91家店的座位数 |
business_area |
大部分为空 |
所在商圈名称 |
region |
87/91有值 |
4家缺失区域需补录 |
6. dim_promotion — 活动主数据(空表,需人工录入)
| 字段 |
需录入内容 |
promotion_id |
活动编码(如 P001-P031) |
promotion_name |
31种营销方案名称(从bill_fact.marketing_plan提取) |
start_date / end_date |
每个活动的起止日期 |
platform_bear |
平台承担金额或比例 |
company_bear |
公司承担金额或比例 |
store_bear |
门店承担金额或比例 |
target_audience |
新客/老客/全客 |
budget |
活动预算 |
7. member_level 标准化映射
当前 bill_fact.member_level 值为:1, 2, 3, 4, 5, 6, 7, LV6, LV7, 空,需统一映射:
| 当前值 |
标准化 |
| 1 |
普通 |
| 2 |
银卡 |
| 3 |
银卡 |
| 4 |
金卡 |
| 5 |
金卡 |
| 6 |
钻石 |
| 7 |
钻石 |
| LV6 |
钻石 |
| LV7 |
钻石 |
8. position 岗位标准化映射
当前 salary_detail_records.position 有262种不同值,需映射到标准岗位:
| 标准岗位 |
可能的原始值 |
| 店长 |
店长、门店经理、店长助理 |
| 厨师长 |
厨师长、后厨主管 |
| 厨师 |
厨师、拉面师、炒菜师、配菜 |
| 服务员 |
服务员、前厅、迎宾 |
| 收银员 |
收银员、出纳 |
| 配送员 |
配送、骑手 |
| 其他 |
其他所有岗位 |
三、需新建数据源(无法从现有系统获取)
| 数据项 |
需要内容 |
获取方式 |
优先级 |
| 现金流数据 |
应收账款、应付账款、租金支付周期、供应商账期 |
接入财务系统(金蝶/用友等) |
高 |
| 评价/口碑数据 |
美团/大众点评评分、差评内容、NPS |
美团商家API或爬虫 |
高 |
| 投诉记录 |
投诉时间、类型、处理人、处理时效、满意度 |
接入客服系统或新建录入表 |
中 |
| SOP检查记录 |
出餐时间、卫生检查、服务标准达标率 |
新建检查录入表(可做小程序) |
中 |
| 食品安全检查 |
检查项、结果、问题、整改跟踪 |
新建录入表或接入监管系统 |
中 |
| 培训记录 |
培训课程、参训人、时间、考核成绩 |
接入培训系统或新建录入表 |
低 |
| 竞品数据 |
周边竞品价格、菜单、客流 |
爬虫或第三方数据服务 |
低 |
| 天气数据 |
每日天气、温度 |
dim_calendar已有字段,接入天气API填充 |
低 |
四、优先级排序:先补什么
立即可做(ETL脚本,1-3天)
- 填充
dim_member — 从 bill_fact 聚合,解锁会员LTV/分层/活跃度分析
- 填充
dim_employee — 从 salary_detail_records 聚合,解锁人才流动/绩效分析
- 填充
dim_channel — 人工定义9个渠道,完善渠道分析
- 标准化
member_level — 编写映射SQL,统一会员等级
- 标准化
position — 编写映射SQL,统一岗位分类
需人工录入(1-2周)
- 补录
dim_store.open_date — 91家店开业日期,查档案补录
- 补录
dim_store.area_sqm / seat_count — 91家店面积和座位数
- 录入
dim_promotion — 31种营销方案的元数据
- 建立
dim_sku 编码体系 — 1,745个菜品的SKU编码和状态标记
需外部接入(长期)
- 财务系统数据 — 现金流分析
- 评价平台API — 口碑监控
- 客服/检查系统 — 投诉/SOP/食安分析