←  首页案例研究全球企业 · 2025–2026EN

保密声明

为遵守保密义务,文中所有企业实体、内部 ERP 表结构与系统标识均已做泛化与匿名处理。方法论、架构设计与性能结果,与真实项目完全一致。

商业分析实习生 — 全球财富 500 强企业 — 2025年12月 → 2026年2月

订单报表
自动化系统

一项原本依赖「知道那四张企业表怎么连起来」的老员工才能完成的报表工作 —— 被重建成任何人只输入一个订单号、约三十秒就能产出同样的报表。

Power AutomateDataverseOffice ScriptSQLDynamics 365
01问题

知识锁在人身上, 而不在系统里。

生成一份客户订单报表,员工需要手动在多张相互关联的 Dataverse 表之间来回翻找。系统里明明存在外键关系,用户却仍要逐条打开记录、自己顺着关系追下去,再一个字段一个字段地复制进 Excel。

这个流程慢、不一致,而且完全依赖那些清楚底层数据如何关联的资深员工。这些人一旦不在,报表就停摆。真正的难点从来不是「把报表做出来」,而是让复杂的企业数据变得可理解 —— 且不要求用户自己去理解数据库结构。

01数据割裂
关联记录散落在四张 Dataverse 表中,没有统一视图。
02人工解析外键
用户要在脑子里追踪主销售表与三张交易子表之间的主外键关系。
03未被记录的逻辑
取值回退、字段映射、国家代码等业务规则,只存在于资深员工的经验里。
04重复的 Excel 工作
最终报表的拼装每一次都靠手工完成。
02流程

现状 → 目标

同一份报表的前后对比。真正改变的不是步骤数量,而是这些步骤由谁来执行、以及一个人在开始之前必须先懂多少东西。

生成一份报表所需时间 —— 按真实比例绘制

人工流程5 分钟
自动化流程约 30 秒

十比一。条形的长度就是数值本身,所以十分之一的长度就是十分之一的时间 —— 下降 93%。

现状 · 人工

  1. 01手动检索 Dataverse
  2. 02打开关联记录
  3. 03跳转到另一张表
  4. 04逐字段复制
  5. 05在 Excel 中拼装
  6. 06客户报表

平均 5 分钟以上 · 产出不一致 · 依赖个人经验

目标 · 自动化

  1. 01输入订单号
  2. 02触发 Power Automate
  3. 03解析 Dataverse 主外键
  4. 04应用业务规则
  5. 05Office Script 排版
  6. 06客户报表

平均约 30 秒 · 产出一致 · 无需专业经验

03数据设计

把数据库的复杂度 从用户面前 抽走

一个订单号背后,是分散在四张 Dataverse 表里的记录 —— 一张企业主销售表,加上物流、本地化、账务三张交易子表 —— 由主外键关系连接,并带有跨表的取值回退逻辑。

解析顺序先查物流子表,回退到账务表,再回退到主表 —— 以此处理那些只存在于特定子表里的字段。此外还编码了发运目的地代码、外贸名称截断,以及代理商名与最终用户名之间的回退规则。

510 → 美国  ·  520 → 英国
在 “ for ” 处截断
代理商名称 → 回退到最终用户

人工 — 之前

物流子表手动逐一打开
账务子表手动逐一打开
本地化子表手动逐一打开
主销售表手动逐一打开

自动化 — 之后

订单号  →  唯一输入
取值回退
物流子表由主外键自动解析
账务子表由主外键自动解析
本地化子表由主外键自动解析
主销售表由主外键自动解析
客户报表
04架构

一份报表 是怎么生成的

六个阶段,用户只碰其中一个。过去资深员工装在脑子里的全部知识,都被编码进了第二到第四阶段。

  1. 01

    用户输入

    一个订单号 —— 用户全程唯一需要接触的东西。

  2. 02

    关系解析

    Power Automate 利用已有的主外键结构查询 Dataverse,自动取回全部关联记录。

  3. 03

    业务规则应用

    取值回退、国家代码映射、名称截断、代理商与最终用户回退,全部编码在流程中。

  4. 04

    数据聚合

    四张表的记录合并为一个统一结构。

  5. 05

    模板实例化

    主模板被复制成一份针对该笔交易的新文件,原件受到保护。

  6. 06

    冻结输出

    Office Script 执行排版规则、锁定输出,交付一份可直接给客户的独立报表。

05治理

把模板隔离 当作一条 设计原则

方案没有把数据直接写进共享的主模板(那样有被污染或被误改的风险),而是每次运行都复制一份主模板,把数据注入副本,运行 Office Script,再把结果冻结成一个独立文件。

把配置与运行时数据分离,是可维护企业系统的标准原则。它保证主模板永远不会被某一次报表运行破坏,而每一份产出都可以被独立审计。

  1. 01

    Template.xlsx

    主模板 —— 任何一次报表运行都不会修改它。

  2. 02

    Template_[OrderID].xlsx

    按交易生成的实例,每次都重新复制。

  3. 03

    Frozen_[OrderID].xlsx

    独立的只读产出,可被单独审计。

06结果
93%
报表生成耗时下降 —— 从五分钟降到约三十秒

基于来自八家全球工厂的 500,000+ 条历史记录

1
生成一份报表所需的用户操作
一个订单号
0
需要人工执行的数据查询
查数已完全自动化
4
被自动解析的数据表
主表 + 三张子表

交付物

//业务问题分析
//现状与目标流程建模
//根因分析
//数据关系设计
//解决方案架构
//Power Automate 工作流
//治理方案设计
//Office Script + Excel 产出
07收获

这个项目真正教会我的东西 —— 而不是它交付了什么。

01

先分析,再自动化

正确的流程来自于弄清楚人工流程为什么存在、它想达成什么 —— 而不是一上来就跳到技术方案。

02

去掉的是判断,不只是点击

好的自动化把认知负担从用户转移到系统。用户不再需要理解数据之间是怎么连起来的。

03

数据可靠,产出才可靠

正确解析四张表之间的主外键关系,是整个方案最底层的设计决策。下游的一切都建立在它之上。

04

可维护性高于复杂度

把模板与运行时数据分离是一个刻意的治理选择,它让系统可审计、可恢复,也可以放心地持续迭代。