CHARLIE SAYS

查理如是说
DATE 2026-08-24
THEME
POSTS / P-253 · 行业数字化

BI 详解:从多源数据到管理层驾驶舱

BI 详解:从多源数据到管理层驾驶舱

本系列第五篇。MES / LIMS / ELN / EDC / BI(本篇)/ PMS。

一句话定位

把散落在 MES / LIMS / ERP / CRM 里的数据,变成管理层一眼能看懂、能据此做决策的东西。

BI 不产生数据,它搬运、组织、翻译数据。听起来简单,实际上是企业数字化里最”政治”的系统——因为指标口径就是权力

四层架构

┌─────────────────────────────────────────────┐
│  展示层   报表 · 驾驶舱大屏 · 订阅推送        │
├─────────────────────────────────────────────┤
│  语义层   指标定义(口径的唯一事实源)          │
├─────────────────────────────────────────────┤
│  建模层   明细宽表 · 星型模型 · 预聚合         │
├─────────────────────────────────────────────┤
│  采集层   CDC 实时同步 · 定时批量 · API 拉取   │
└─────────────────────────────────────────────┘
        ODS 原始层 ← MES / LIMS / ERP / CRM
  • 采集层:CDC(变更数据捕获)拿实时性,定时同步兜底,API 拉取补长尾
  • 建模层:星型模型(事实表 + 维度表);批次状态历史用缓慢变化维 SCD2——“上周三这批货是什么状态”必须可回答
  • 语义层:本篇的主角,见下文
  • 展示层:报表、大屏、推送——最光鲜、最不值钱的一层

语义层:口径的唯一事实源

“活跃批次”是什么意思?生产说是”未放行的”,质量说是”未关闭偏差的”,仓库说是”在我们冰箱里的”。三个部门三种算法,三个数字,会议开成菜市场。

语义层的使命:一个指标,一处定义,处处引用。

metric: batch_pass_rate      # 批次一次性合格率
  formula: count(pass_batches) / count(finished_batches)
  dimensions: [产线, 产品类型, 月份]
  owner: 质量部
  version: 2.1

指标代码化(YAML/代码定义)、版本化(口径变更留痕)、有 owner(出了争议有人拍板)。语义层不是技术产物,是组织共识的代码化。

为什么自研(以及为什么不)

开源方案 Superset / Metabase 很强,什么时候自研是合理的:

  • 行业指标深度定制:批次一次性合格率、放行周期、检验周转 TAT、产线 OEE——这些不是”配置出来的”,要和 MES/LIMS 的领域模型深度咬合
  • 权限与组织架构绑定:行级权限(RLS)按事业部隔离,字段级按角色脱敏
  • 私有化交付:To B 客户要求整套进内网,还要对接钉钉/企微推送

但别把轮子都造了:SQL 构建器、图表渲染库,生态里有的是。自研的边界画在语义层和行业指标,不在图表组件。

关键技术挑战

一:指标口径统一。 上面说透了。补一句实操:新报表需求先审指标,指标库里有的才准上——没有就先定义,走评审。前期慢,后期快。

二:性能。 明细宽表上亿行的真实场景:

  • 预聚合:常用维度组合的汇总表定时算好,查询走汇总,钻取走明细
  • 物化视图 + 查询路由:框架按查询模式自动选”走汇总还是明细”
  • 实时与 T+1 分治:驾驶舱大屏要实时(流式聚合),经营报表 T+1 足够——别为一张月报上流式架构

三:自助与治理的平衡。 完全管控,业务部门排队等开发;完全自助,野指标满天飞。折中:字段和指标开放,口径不开放——业务自己拖维度度量,但指标定义动不了。

四:订阅推送。 定时任务调度、失败重试与告警、多渠道(邮件/钉钉/企微)。凌晨跑批失败没人知道,早上例会开天窗——推送链路的可观测性要做。

五:导出中心。 十万行导出必须异步化:任务队列 + 文件存储 + 下载中心,绝不在线程里同步生成 Excel 拖垮服务。

指标体系怎么建

先业务后技术,自上而下:

  1. 北极星指标:公司今年就盯那一个(如:交付准时率)
  2. 部门指标:拆到质量、生产、检验、注册(合格率、产能利用率、TAT、申报进度)
  3. 过程指标:拆到产线、站点、人员

拿 CGT 行业举几个真实口径的例子:

指标口径要点
批次一次性合格率一次性 = 无偏差放行的批次 / 完成放行的批次
放行周期生产完成时间 → QA 放行时间,剔除等待患者的冻存时间
检验周转 TAT样本接收 → 报告审批,按检测项分别统计
产能利用率实际培养位占用 / 可用培养位,按天取快照

注意”放行周期”那行的”剔除”——每个真实口径都长这样,教科书上没有。

几点体会

  • BI 项目 80% 的时间在数据治理,20% 在做图。反过来的项目都死了
  • 没人看的报表做得再炫也是负债——每张报表定期问一句”谁在什么决策里用它”
  • 数字不一致时,人们永远相信对自己有利的那个。语义层的价值就是让争论回到口径本身

本系列:MES · LIMS · ELN · EDC · BI(本篇) · PMS

← 返回文章列表