# 字段差异审核报告（第二批）— 1.1.12 ~ 1.1.17

> 数据源：test_etl_feiqiu（开发/测试环境）
> 审核时间：2026-02-20
> 审核范围：ODS→DWD 未映射字段 + API→ODS 未映射（平层）字段

---

## 1.1.12 member_balance_changes

### member_balance_changes — relate_id

- 数据类型：bigint
- 采样值（前 10 个 distinct）：`2993181992014533`, `3072754355946949`, `2947505138716229`, `2992745472101061`, `2929262226949893`, `2913844390610501`, `3062602498559493`, `2839291793787205`, `2995833615503621`, `2986287611251333`
- NULL 率：0/9684 = 0%（全部非空）
- distinct 值数量：3904
- 关联验证：与 `ods.recharge_settlements.id` 交集 867 条（约 9.0%），说明部分余额变动关联充值结算单，其余可能关联订单、退款等其他业务单据
- 业务含义推测：关联业务单据 ID，标识触发本次余额变动的源单据（充值单、消费订单、退款单等）。是余额变动的溯源字段，可用于反查具体业务操作
- 建议：**需要映射** — 该字段 100% 非空，是余额变动溯源的关键外键。映射到 DWD 后可支持"余额变动 → 源单据"的关联分析。建议 DWD 列名 `relate_id`（bigint）

---

## 1.1.13 recharge_settlements

> 重点对比：ODS 5 个字段在 DWD 中已有对应列，但 FACT_MAPPINGS 可能缺失

### ODS 侧统计

| 字段 | 数据类型 | 总行数 | 非零行数 |
|------|---------|--------|---------|
| plcouponsaleamount | numeric | 3333 | 0 |
| mervousalesamount | numeric | 3333 | 0 |
| electricitymoney | numeric | 3333 | 0 |
| realelectricitymoney | numeric | 3333 | 0 |
| electricityadjustmoney | numeric | 3333 | 0 |

### DWD 侧统计（dwd.dwd_recharge_order）

| 字段 | 数据类型 | 总行数 | 非零行数 |
|------|---------|--------|---------|
| pl_coupon_sale_amount | numeric | 485 | 0 |
| mervou_sales_amount | numeric | 485 | 0 |
| electricity_money | numeric | 485 | 0 |
| real_electricity_money | numeric | 485 | 0 |
| electricity_adjust_money | numeric | 485 | 0 |

### 对比结论

ODS 和 DWD 两侧这 5 个字段**全部为 0**，无任何非零值。DWD 已建好对应列（命名规范化），但由于上游业务未产生相关数据，无法通过数据对比验证映射是否生效。

### 逐字段分析

#### recharge_settlements — plcouponsaleamount
- 数据类型：numeric
- 采样值：全部为 0
- NULL 率：0%
- 业务含义推测：平台优惠券销售金额（团购/平台券抵扣部分）
- 建议：**需要补充 FACT_MAPPINGS** — DWD 列 `pl_coupon_sale_amount` 已存在，应确认 FACT_MAPPINGS 中是否有 `plcouponsaleamount → pl_coupon_sale_amount` 的映射条目。当前数据全为 0 不影响映射正确性，业务启用后即可自动流转

#### recharge_settlements — mervousalesamount
- 数据类型：numeric
- 采样值：全部为 0
- NULL 率：0%
- 业务含义推测：美团/大众点评等第三方平台销售金额
- 建议：**需要补充 FACT_MAPPINGS** — 对应 DWD 列 `mervou_sales_amount`，理由同上

#### recharge_settlements — electricitymoney
- 数据类型：numeric
- 采样值：全部为 0
- NULL 率：0%
- 业务含义推测：电费金额（台桌灯控计费）
- 建议：**需要补充 FACT_MAPPINGS** — 对应 DWD 列 `electricity_money`

#### recharge_settlements — realelectricitymoney
- 数据类型：numeric
- 采样值：全部为 0
- NULL 率：0%
- 业务含义推测：实际电费金额（扣除优惠后）
- 建议：**需要补充 FACT_MAPPINGS** — 对应 DWD 列 `real_electricity_money`

#### recharge_settlements — electricityadjustmoney
- 数据类型：numeric
- 采样值：全部为 0
- NULL 率：0%
- 业务含义推测：电费调整金额
- 建议：**需要补充 FACT_MAPPINGS** — 对应 DWD 列 `electricity_adjust_money`

### 1.1.13 总结

5 个字段在 DWD 中均已有对应列，数据类型一致（numeric）。当前 ODS/DWD 两侧数据全为 0，说明该门店尚未启用相关业务功能。**应检查并补全 FACT_MAPPINGS 配置**，确保映射通道畅通，待业务启用后数据可自动流转。优先级：低（数据全为零，不影响现有报表）。

---

## 1.1.14 group_buy_packages

### group_buy_packages — tenantTableAreaIdList[]（API 字段）

- ODS 对应列：`tenant_table_area_id_list`（jsonb）
- 实际存储类型：jsonb，但 `jsonb_typeof()` 返回 `string`（即存储的是字符串形式的单个 ID，而非数组）
- 采样值：`"2791960001957765"`, `"2791960521691013"`, `"2791962314215301"`
- NULL 率：51/70 = 72.9%（大部分为空）
- distinct 值数量：约 3-5 个（对应不同区域 ID）
- 业务含义推测：租户级台桌区域 ID 列表，标识团购套餐适用的台桌区域。API 返回数组，ODS 已落地为 jsonb 列
- 建议：**跳过** — 该字段已在 ODS 中以 jsonb 列存储（非"平层未映射"），且 72.9% 为 NULL。API→ODS 映射已完成，DWD 层团购套餐表如需区域关联可从此列提取

### group_buy_packages — tableAreaNameList[]（API 字段）

- ODS 对应列：`table_area_id_list`（jsonb）— 注意：ODS 列名为 `table_area_id_list`，但 API 字段名为 `tableAreaNameList`
- ODS 列值：全部为 NULL（70/70 = 100%）
- payload 中的值：存在于 `payload->'tableAreaNameList'` 中，采样值为 `["A区"]`, `["B区"]`, `["麻将房"]`
- 业务含义推测：台桌区域名称列表，是 `tenantTableAreaIdList` 的可读名称版本
- 建议：**跳过（但需记录问题）** — `table_area_id_list` 列全为 NULL，而 payload 中 `tableAreaNameList` 有值，说明 ODS 平层化时可能存在字段名映射错误（`table_area_id_list` 应映射 `tableAreaIdList` 而非 `tableAreaNameList`，或需新增 `table_area_name_list` 列）。建议后续修复 ODS 平层化映射，但不阻塞当前 DWD 流程

---

## 1.1.15 goods_stock_summary（无 DWD 表）

> 14 个字段全部无 DWD 映射，原因：尚未建立对应的 DWD 表

### 整体统计

| 指标 | 值 |
|------|-----|
| 总行数 | 1,088 |
| distinct 商品数 | 173 |
| distinct 商品名 | 173 |
| distinct 单位 | 13 |
| distinct 一级分类 | 9 |
| distinct 二级分类 | 14 |
| distinct 分类名 | 9 |
| NULL 率 | 所有 14 个字段均 0% NULL |

### 逐字段分析

#### goods_stock_summary — sitegoodsid
- 数据类型：bigint（推测）
- 采样值：173 个 distinct 值（商品级 ID）
- NULL 率：0/1088 = 0%
- 业务含义推测：门店商品 ID，标识具体商品在门店的唯一身份
- 建议：若建 DWD 表则为主键/业务键

#### goods_stock_summary — goodsname
- 数据类型：text
- 采样值：`酱香爆珠槟榔`, `乌龙茶香槟榔`, `金银花凉茶`, `大瓶蓝妹`, `一次性湿巾`
- NULL 率：0/1088 = 0%
- distinct 值数量：173
- 业务含义推测：商品名称
- 建议：若建 DWD 表则为维度属性

#### goods_stock_summary — goodsunit
- 数据类型：text
- 采样值：`包`, `瓶`, `张`, `盒`, `杯`, `个`, `份`, `双`, `支`, `根`, `桶`, `盘`, `罐`（共 13 种）
- NULL 率：0/1088 = 0%
- 业务含义推测：商品计量单位
- 建议：若建 DWD 表则为维度属性

#### goods_stock_summary — goodscategoryid
- 数据类型：bigint（推测）
- distinct 值数量：9
- NULL 率：0/1088 = 0%
- 业务含义推测：商品一级分类 ID
- 建议：若建 DWD 表则为维度外键

#### goods_stock_summary — goodscategorysecondid
- 数据类型：bigint（推测）
- distinct 值数量：14
- 采样值：对应分类名如 `香烟`, `酒水`, `雪糕`, `槟榔`, `小吃`, `果盘`, `麻将房`, `其他`, `器材`, `零食`
- NULL 率：0/1088 = 0%
- 业务含义推测：商品二级分类 ID
- 建议：若建 DWD 表则为维度外键

#### goods_stock_summary — categoryname
- 数据类型：text
- 采样值：`槟榔`, `酒水`, `其他`, `香烟`, `雪糕`, `小吃`, `果盘`, `器材`, `零食`（共 9 种）
- NULL 率：0/1088 = 0%
- 业务含义推测：一级分类名称（冗余字段，与 goodscategoryid 对应）
- 建议：若建 DWD 表可保留为冗余维度属性，避免额外 JOIN

#### goods_stock_summary — rangestartstock
- 数据类型：numeric
- 值域：0.0000 ~ 976.0000
- NULL 率：0/1088 = 0%
- 业务含义推测：查询时间范围内的期初库存
- 建议：若建 DWD 表则为度量字段

#### goods_stock_summary — rangeendstock
- 数据类型：numeric
- 值域：0.0000 ~ 976.0000
- NULL 率：0/1088 = 0%
- 业务含义推测：查询时间范围内的期末库存
- 建议：若建 DWD 表则为度量字段

#### goods_stock_summary — rangein
- 数据类型：numeric
- 值域：全部为 0.0000
- NULL 率：0/1088 = 0%
- 业务含义推测：时间范围内入库数量
- 建议：当前全为 0，可能该门店未使用入库功能或查询范围无入库记录

#### goods_stock_summary — rangeout
- 数据类型：numeric
- 值域：全部为 0.0000
- NULL 率：0/1088 = 0%
- 业务含义推测：时间范围内出库数量
- 建议：同上，当前全为 0

#### goods_stock_summary — rangesale
- 数据类型：numeric
- 值域：全部为 0.0000
- NULL 率：0/1088 = 0%
- 业务含义推测：时间范围内销售数量
- 建议：同上，当前全为 0

#### goods_stock_summary — rangesalemoney
- 数据类型：numeric
- 值域：全部为 0.00
- NULL 率：0/1088 = 0%
- 业务含义推测：时间范围内销售金额
- 建议：同上，当前全为 0

#### goods_stock_summary — rangeinventory
- 数据类型：numeric
- 值域：全部为 0.0000
- NULL 率：0/1088 = 0%
- 业务含义推测：时间范围内盘点数量
- 建议：同上，当前全为 0

#### goods_stock_summary — currentstock
- 数据类型：numeric
- 值域：0.0000 ~ 976.0000
- NULL 率：0/1088 = 0%
- 业务含义推测：当前库存数量（最新快照）
- 建议：若建 DWD 表则为核心度量字段

### 1.1.15 总结

goods_stock_summary 是**库存汇总快照表**，记录每个商品在特定时间范围内的库存变动摘要。1,088 行覆盖 173 种商品，所有字段 0% NULL，数据质量良好。

**是否需要新建 DWD 表：建议暂缓**
- 理由：range 系列字段（rangein/rangeout/rangesale/rangesalemoney/rangeinventory）全部为 0，说明该表的时间范围汇总功能未被有效利用
- 有价值的数据仅为 `currentstock`（当前库存）和商品维度信息，而这些信息可从 `goods_stock_movements`（库存流水）推算
- 建议优先建设 `goods_stock_movements` 的 DWD 表（见 1.1.16），库存汇总可作为 DWS 层聚合产出
- 优先级：低

---

## 1.1.16 goods_stock_movements（无 DWD 表）

> 19 个字段全部无 DWD 映射，原因：尚未建立对应的 DWD 表

### 整体统计

| 指标 | 值 |
|------|-----|
| 总行数 | 35,606 |
| distinct 流水 ID | 34,961 |
| distinct 租户 | 1 |
| distinct 门店 | 1 |
| distinct 商品 | 165 |
| distinct 商品名 | 170 |
| distinct 一级分类 | 9 |
| distinct 二级分类 | 14 |
| distinct 单位 | 13（个/份/包/双/张/支/杯/根/桶/瓶/盒/盘/罐） |
| distinct 库存类型 | 6（1/2/4/7/8/9） |
| distinct 操作人 | 8 |
| 价格范围 | 2.00 ~ 11,360.00 |
| 变动数量范围 | -66 ~ 1,000 |
| 时间范围 | 2025-07-18 ~ 2026-02-14 |

### NULL 率汇总

| 字段 | NULL 数 | NULL 率 |
|------|---------|---------|
| sitegoodsstockid | 0 | 0% |
| tenantid | 0 | 0% |
| siteid | 0 | 0% |
| sitegoodsid | 0 | 0% |
| goodsname | 0 | 0% |
| goodscategoryid | 0 | 0% |
| goodssecondcategoryid | 0 | 0% |
| unit | 0 | 0% |
| price | 0 | 0% |
| stocktype | 0 | 0% |
| changenum | 0 | 0% |
| startnum | 0 | 0% |
| endnum | 0 | 0% |
| changenuma | 0 | 0% |
| startnuma | 0 | 0% |
| endnuma | 0 | 0% |
| remark | 34,315 | 96.4% |
| operatorname | 0 | 0% |
| createtime | 0 | 0% |

### 逐字段分析

#### goods_stock_movements — sitegoodsstockid
- 数据类型：bigint
- distinct 值数量：34,961（接近总行数 35,606，近似唯一）
- NULL 率：0%
- 业务含义推测：库存流水记录主键 ID
- 建议：若建 DWD 表则为业务键

#### goods_stock_movements — tenantid
- 数据类型：bigint
- distinct 值数量：1
- NULL 率：0%
- 业务含义推测：租户 ID（当前单租户）
- 建议：若建 DWD 表保留，用于多租户扩展

#### goods_stock_movements — siteid
- 数据类型：bigint
- distinct 值数量：1
- NULL 率：0%
- 业务含义推测：门店 ID（当前单门店）
- 建议：若建 DWD 表保留，用于 RLS 隔离

#### goods_stock_movements — sitegoodsid
- 数据类型：bigint
- distinct 值数量：165
- NULL 率：0%
- 业务含义推测：门店商品 ID，关联商品维度
- 建议：若建 DWD 表则为维度外键

#### goods_stock_movements — goodsname
- 数据类型：text
- 采样值：`可乐`, `脉动`, `哇米诺豆奶`, `哇哈哈矿泉水`, `钻石荷花`
- distinct 值数量：170
- NULL 率：0%
- 业务含义推测：商品名称（冗余）
- 建议：若建 DWD 表保留为冗余维度

#### goods_stock_movements — goodscategoryid
- 数据类型：bigint
- distinct 值数量：9
- NULL 率：0%
- 业务含义推测：商品一级分类 ID
- 建议：若建 DWD 表则为维度外键

#### goods_stock_movements — goodssecondcategoryid
- 数据类型：bigint
- distinct 值数量：14
- NULL 率：0%
- 业务含义推测：商品二级分类 ID
- 建议：若建 DWD 表则为维度外键

#### goods_stock_movements — unit
- 数据类型：text
- 采样值：`个`, `份`, `包`, `双`, `张`, `支`, `杯`, `根`, `桶`, `瓶`, `盒`, `盘`, `罐`（共 13 种）
- NULL 率：0%
- 业务含义推测：商品计量单位
- 建议：若建 DWD 表保留

#### goods_stock_movements — price
- 数据类型：numeric
- 值域：2.0000 ~ 11,360.0000
- NULL 率：0%
- 业务含义推测：商品单价
- 建议：若建 DWD 表则为度量字段

#### goods_stock_movements — stocktype
- 数据类型：integer
- 枚举值：`1`（销售出库）, `2`（采购入库）, `4`（盘点调整）, `7`（?）, `8`（领用确认/退回）, `9`（?）
- NULL 率：0%
- 业务含义推测：库存变动类型枚举
- 建议：若建 DWD 表则为维度字段，需建立枚举映射表

#### goods_stock_movements — changenum
- 数据类型：numeric
- 值域：-66.0000 ~ 1,000.0000（负数=出库，正数=入库）
- NULL 率：0%
- 业务含义推测：主计量单位变动数量
- 建议：若建 DWD 表则为核心度量字段

#### goods_stock_movements — startnum
- 数据类型：numeric
- NULL 率：0%
- 业务含义推测：变动前库存数量（主计量单位）
- 建议：若建 DWD 表保留，用于库存校验

#### goods_stock_movements — endnum
- 数据类型：numeric
- NULL 率：0%
- 业务含义推测：变动后库存数量（主计量单位）
- 建议：若建 DWD 表保留

#### goods_stock_movements — changenuma
- 数据类型：numeric
- 非零行数：2,326/35,606 = 6.5%
- NULL 率：0%
- 采样值（非零时）：与 changenum 互补，当 changenum=0 时 changenuma 有值，反之亦然。典型场景：stocktype=2（采购入库）时 changenuma 有值，stocktype=8（领用确认）时 changenuma 为负
- 业务含义推测：**辅助计量单位变动数量**（如"箱"vs"瓶"的双单位管理）
- 建议：若建 DWD 表保留，支持双单位库存管理

#### goods_stock_movements — startnuma
- 数据类型：numeric
- 非零行数：1,256/35,606 = 3.5%
- NULL 率：0%
- 业务含义推测：变动前库存数量（辅助计量单位）
- 建议：若建 DWD 表保留

#### goods_stock_movements — endnuma
- 数据类型：numeric
- 非零行数：1,070/35,606 = 3.0%
- NULL 率：0%
- 业务含义推测：变动后库存数量（辅助计量单位）
- 建议：若建 DWD 表保留

#### goods_stock_movements — remark
- 数据类型：text
- 采样值：`结账退货`, `采购退货`, `系统自动领用`, `系统自动领用退回`
- NULL 率：34,315/35,606 = 96.4%
- distinct 值数量：约 4 种
- 业务含义推测：库存变动备注，仅在特殊操作时填写
- 建议：若建 DWD 表保留（可为 nullable）

#### goods_stock_movements — operatorname
- 数据类型：text
- 采样值：`收银员:郑丽珊` 等（共 8 个 distinct）
- NULL 率：0%
- 业务含义推测：操作人姓名（含角色前缀）
- 建议：若建 DWD 表保留

#### goods_stock_movements — createtime
- 数据类型：timestamp
- 值域：2025-07-18 15:18:49 ~ 2026-02-14 00:21:21
- NULL 率：0%
- 业务含义推测：库存变动发生时间
- 建议：若建 DWD 表则为时间维度键

### 1.1.16 总结

goods_stock_movements 是**库存流水明细表**，记录每一笔库存变动（销售、采购、盘点、领用等）。35,606 行数据，时间跨度约 7 个月，数据质量优秀（除 remark 外所有字段 0% NULL）。

**是否需要新建 DWD 表：建议需要，优先级中**
- 理由：
  1. 数据量大（3.5 万行）且持续增长，是库存管理的核心流水数据
  2. 支持双单位管理（changenum/changenuma），业务复杂度较高
  3. 可支撑 DWS 层库存分析（库存周转率、损耗率、采购频次等）
  4. 与 goods_stock_summary 相比，流水数据更有分析价值
- 建议 DWD 表名：`dwd.dwd_goods_stock_movement`
- 建议处理方式：事实表，按 createtime 增量加载

---

## 1.1.17 site_tables_master（台桌维度扩展属性）

> 14 个字段无 DWD 映射，当前 DWD dim_table_ex 只有少量列

### 整体统计

| 指标 | 值 |
|------|-----|
| 总行数 | 1,074 |
| distinct 门店名 | 1（朗朗桌球） |

### NULL 率汇总

| 字段 | NULL 数 | NULL 率 |
|------|---------|---------|
| sitename | 0 | 0% |
| appletQrCodeUrl | 0 | 0% |
| audit_status | 0 | 0% |
| charge_free | 0 | 0% |
| create_time | 0 | 0% |
| delay_lights_time | 0 | 0% |
| is_rest_area | 0 | 0% |
| light_status | 0 | 0% |
| only_allow_groupon | 0 | 0% |
| order_delay_time | 0 | 0% |
| self_table | 0 | 0% |
| tablestatusname | 0 | 0% |
| temporary_light_second | 0 | 0% |
| virtual_table | 0 | 0% |

### 逐字段分析

#### site_tables_master — sitename
- 数据类型：text
- 采样值：`朗朗桌球`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：门店名称（冗余字段，所有台桌属于同一门店）
- 建议：**跳过** — 单值冗余字段，门店信息已在其他维度表中

#### site_tables_master — appletQrCodeUrl
- 数据类型：text
- 采样值：`https://pc-we.ficoo.vip/rootwww/prodwx38a48dd2bc3c1642?env=prod&type=1&id=...&siteId=...`
- NULL 率：0%
- 业务含义推测：小程序扫码开台的二维码 URL，每张台桌一个唯一 URL
- 建议：**跳过** — 运营/展示用途，非分析字段。且包含环境参数，不适合进入 DWD

#### site_tables_master — audit_status
- 数据类型：integer
- 采样值：`2`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：审核状态（2 可能表示"已审核通过"）
- 建议：**跳过** — 单值字段，所有台桌审核状态相同，无分析价值

#### site_tables_master — charge_free
- 数据类型：integer
- 采样值：`0`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：是否免费（0=收费）
- 建议：**跳过** — 单值字段，所有台桌均为收费模式

#### site_tables_master — create_time
- 数据类型：timestamp
- 值域：2025-07-15 17:52:54 ~ 2025-12-12 21:52:21
- NULL 率：0%
- 业务含义推测：台桌创建时间
- 建议：**需要映射** — 有实际业务含义，可用于分析台桌上线时间线。建议映射到 dim_table_ex

#### site_tables_master — delay_lights_time
- 数据类型：integer（推测）
- 采样值：`0`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：延迟关灯时间（分钟/秒），0 表示不延迟
- 建议：**跳过** — 单值字段，当前未启用延迟关灯功能

#### site_tables_master — is_rest_area
- 数据类型：integer
- 采样值：`0`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：是否为休息区（0=否）
- 建议：**跳过** — 单值字段，无休息区台桌

#### site_tables_master — light_status
- 数据类型：integer
- 采样值：`1`, `2`（2 个 distinct）
- NULL 率：0%
- 业务含义推测：灯光状态（1=开灯, 2=关灯，或类似枚举）
- 建议：**可选映射** — 有 2 个值，可反映台桌当前灯光状态。但这是实时状态字段，SCD2 维度表中意义有限（频繁变化）。如需灯控分析建议走事件流而非维度快照。优先级：低

#### site_tables_master — only_allow_groupon
- 数据类型：integer
- 采样值：`2`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：是否仅允许团购开台（2 可能表示"否/不限制"）
- 建议：**跳过** — 单值字段

#### site_tables_master — order_delay_time
- 数据类型：integer
- 采样值：`0`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：订单延迟时间（分钟），0 表示不延迟
- 建议：**跳过** — 单值字段

#### site_tables_master — self_table
- 数据类型：integer
- 采样值：`1`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：是否为自有台桌（1=是）
- 建议：**跳过** — 单值字段

#### site_tables_master — tablestatusname
- 数据类型：text
- 采样值：`空闲中`, `使用中`, `暂停中`（3 个 distinct）
- NULL 率：0%
- 业务含义推测：台桌当前状态名称
- 建议：**可选映射** — 有 3 个有意义的状态值，但同 light_status 一样是实时状态字段。如果 dim_table_ex 采用 SCD2，此字段会导致频繁版本变更。建议仅在需要台桌状态分析时映射。优先级：低

#### site_tables_master — temporary_light_second
- 数据类型：integer（推测）
- 采样值：`0`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：临时亮灯秒数
- 建议：**跳过** — 单值字段，未启用临时亮灯功能

#### site_tables_master — virtual_table
- 数据类型：integer
- 采样值：`0`（仅 1 个 distinct）
- NULL 率：0%
- 业务含义推测：是否为虚拟台桌（0=否，实体台桌）
- 建议：**跳过** — 单值字段

### 1.1.17 总结

14 个字段中：
- **需要映射**：1 个（`create_time`）
- **可选映射**：2 个（`light_status`, `tablestatusname`）— 实时状态字段，SCD2 维度表中价值有限
- **跳过**：11 个 — 其中 10 个为单值字段（当前门店配置统一），1 个为运营 URL

大部分字段为单值（所有台桌配置相同），说明该门店的台桌配置较为统一。如果未来扩展到多门店，这些字段可能出现差异化，届时可重新评估映射需求。

---

## 总结与行动建议

### 需要立即处理

| 章节 | 字段 | 行动 |
|------|------|------|
| 1.1.12 | relate_id | 添加到 DWD 映射（余额变动溯源外键） |
| 1.1.13 | 5 个金额字段 | 检查并补全 FACT_MAPPINGS 配置（DWD 列已存在） |

### 建议后续处理

| 章节 | 行动 | 优先级 |
|------|------|--------|
| 1.1.14 | 修复 ODS 平层化映射（table_area_id_list vs tableAreaNameList 错位） | 低 |
| 1.1.16 | 新建 `dwd.dwd_goods_stock_movement` 事实表 | 中 |
| 1.1.17 | 映射 `create_time` 到 dim_table_ex | 低 |

### 暂不处理

| 章节 | 原因 |
|------|------|
| 1.1.15 goods_stock_summary | range 系列字段全为 0，库存汇总可由流水表推算，建议作为 DWS 层产出 |
| 1.1.17 大部分字段 | 11/14 为单值字段，无分析价值 |
