乐于分享
好东西不私藏

30万行Excel,4个系统,零IT投入——我用SQLite搭了一套经营分析"数据基座"

30万行Excel,4个系统,零IT投入——我用SQLite搭了一套经营分析"数据基座"

无需数仓、无需BI工具、无需IT团队。一个财务总监的AI实战。


一、先说痛点:你是不是也这样?

先做个小测试,下面场景你中了几条:

  •  公司有ERP、WMS、CRM、财务软件,但数据各管各的
  •  想看"各区域毛利率",得分别从三个系统导表,VLOOKUP拼半天
  •  想看"应收账款按区域分布",系统不支持,只能手工做透视
  •  每个月做经营分析会PPT,80%时间花在**"凑数据"**上
  •  找过IT,回复是"上BI系统,预算50万起,排期半年"

中了3条以上,这篇文章就是为你写的。


二、为什么会有这个方案?

在进入技术细节之前,我想先聊聊——为什么是现在,为什么用这种方式。

坦率讲,"系统数据没打通"这个痛点不是今天才有的。早几年我也用PowerBI,解决了这个问题,中基层使用BI的频率高,但是高层用户打开BI的频率非常低,还是向财务要数,而不是自助查询,最后的落地效果不好。为什么偏偏是2025年,我才真正动手把它解决了?

两个原因。

原因一:AI 工具的爆发,让"动手"的门槛塌了

说实话,我虽然是财务出身,但写代码并不是我的本职工作。三年前你让我用 Python 写一个完整的 ETL 数据管道,我大概率会告诉你"这不现实"。

但这两年不一样了。

现在的 AI 编程助手,比如 Claude Code、TRAE等已经进化到这样的程度——

你只需要用中文描述你的需求,它能帮你写出完整代码。你负责确认逻辑对不对,它负责把代码实现出来。

举个例子。我在搭建这个数据基座的时候,遇到一个需求:"根据销售订单的日期和产品,自动匹配当月库存单位成本,订单和库存单位成本不在一个系统。"。

如果是以前,这个逻辑我得查资料、看文档、调试一整天。现在呢?我把需求用中文写清楚,AI 帮我把 SQL 语句和 Python 代码一口气写好,我只需要验证结果对不对。

AI 工具真正改变的不是"能不能做",而是"值不值得做"。

以前,一个财务人员要花两周才能搭起来的东西,ROI 算不过来。现在,两天搞定,ROI 是正的。

这就是我动手的前提条件。

原因二:高层领导根本不用 BI 系统

这一点,我估计很多财务同行都有同感。

我们公司之前也上过一套 BI 看板。仪表盘做得很漂亮,折线图柱状图饼图一应俱全,按区域、按品类、按月份切得明明白白。

但是——高层的月活跃打开率,接近于零。

不是系统不好用。是因为:

  • 老板的提问方式是"点对点"的,不是"大而全"的。

    • 他不会打开仪表盘说"让我看看这个月的经营全貌"。
    • 他会在会上突然问一句:"上个月广东那边那个高端定制的毛利率是多少?和预算比怎么样?"
    • 他会晚上11点发微信:"小王,咱在江苏那几个城市的回款情况怎么样?有没有哪个客户欠款超过90天了?"
  • 老板要的是"即时答案",不是"可视化探索"。

    • BI 系统假设用户愿意花时间在上面点来点去、下钻分析。
    • 但实际上,高层领导的时间颗粒度是按分钟计的。他需要你30秒内给出准确答案,而不是给他一个"自助分析平台"让他自己去探索。

这就导致了一个尴尬的现状:

角色
对 BI 的真实态度
高层领导
不会打开,问了等答案就行
财务/运营
领导问的时候,还是打开 Excel 翻数据
IT 部门
看板建好了,没几个人用,产出感差

BI 的悖论在于:谁最需要数据,谁反而没时间看仪表盘。

所以我的思路就变了——我不需要建一个"漂亮的看板",我需要建一个**"随时能回答老板问题的查询引擎"**。

就像这样:

老板问:"东北三省今年费用执行率怎么样?"

我打开数据库,一条 SQL,20 秒出结果。

老板再问:"哪个部门超支最严重?"

再一条 SQL,10 秒出结果。

这个体验,是老板真正认可的"数据服务"——快、准、不问第二次。


三、我的场景

一家服装公司,年营收2亿+,四个核心系统:

系统
用途
导出格式
ERP
销售/采购
Excel
WMS
库存
Excel
CRM
客户
Excel
财务软件
费用/应收
Excel

总数据量约30万行,不上不下。上数仓嫌重,Excel又扛不住。

我的解法非常简单:

Python + SQLite = 中小企业经营分析数据基座


四、为什么是 SQLite?

很多人一听"数据库"就觉得得装MySQL、配服务器、找DBA。其实:

选型
部署
性能
成本
适合数据量
Excel
10万行卡死
免费
<10万行
SQLite零(Python内置)百万行轻松免费<100万行
MySQL
需服务器
千万级
需运维
百万~亿级
数仓
需团队
海量
几十万起
亿级以上

SQLite 的核心优势就一句话:它是一个文件,Python自带驱动,零安装、零配置、零运维。性能在百万行以内秒出结果。

你只需要做一件事:把各个系统的Excel导出来,放到指定文件夹里。导数据也是用AI写的自动化脚本,通过调取API,自动导出各个管理系统的数据。


五、怎么搭?四张图说清楚

5.1 整体思路

Excel源文件(5个文件夹)      ↓  Python脚本(4个.py文件)      ↓  SQLite数据库(1个.db文件)      ↓   分析查询(直接SQL,或用Excel/Power BI连接)

5.2 数据库设计——星型模型

核心逻辑:维度表 + 事实表 = 任意维度下钻分析

维度表(10张)——描述"谁、什么、哪里、何时":

  • 日期维度(8年日历,含节假日/财年)
  • 产品(53个SKU × 5大品类)
  • 客户(10,493个)
  • 城市(129个 × 4大区)
  • 渠道(线下代理/线上自营/线上代理)
  • 部门、仓库、科目……

事实表(7张基础表)——记录"发生了什么":

  • 销售订单(261,814条)
  • 库存快照(月度)
  • 采购流水(8,322条)
  • 应收账款(3,852张发票)
  • 收款流水(4,412条)
  • 部门费用(10,607条)
  • 预算(收入/成本/费用)

5.3 关键设计:打通系统间的"断头路"

这是整个方案的精髓。不同系统的数据本来互不相识,如何让它们"对话"?

第一步:建维度表做"翻译官"

比如:

  • 销售表里的product_id → dim_product → 找到品类、名称
  • 部门费用表里的account_code → dim_account_mapping → 找到管理科目分类
  • 城市表里的city_id → dim_city → 找到所属大区

第二步:用视图做"一键汇总"

例如,收入预算 vs 实际对比,一行SQL搞定:

SELECT category, city_name, region,       budget_amount/10000 AS 预算_万,       actual_amount/10000 AS 实际_万,       execution_pct AS 执行率FROM v_income_vs_budgetWHERE ym LIKE '2025%'ORDER BY budget_amount DESC;

第三步:预聚合物化表加速查询

把最常用的分析口径(预算对比、单品毛利、AR账龄)预先算好存成物化表,查询秒出。

5.4 自动化更新——每天凌晨2点

一个.bat文件 + Windows计划任务:

cd C:\你的项目目录python build_db.py --incremental

每天自动检测源文件是否更新,有变化就增量装载,无变化跳过。全程无人值守。


六、建完后,能回答哪些"以前答不了"的问题?

这是我建完数据基座后,实际能跑出来的分析:

1. 任意维度的收入下钻

按年 → 按大区 → 按省份 → 按城市 → 按品类 → 按单品

不用再"等一下,我拉个透视表"。

2. 单品级毛利排名

产品
品类
销量
收入
毛利
毛利率
男士礼服
高端定制
14,566件
¥823万
¥563万
68.4%
女士裙子
高端定制
14,931件
¥702万
¥484万
69.0%
高跟鞋
鞋类
14,926件
¥1,120万
¥553万
49.4%

一眼看出:高端定制类占利润绝对核心,男士礼服和女士裙子是利刃产品。

3. 应收账款账龄——风险一目了然

账龄
余额
占比
逾期90天以上
¥322.8万
49.8%
60-90天
¥106.5万
16.4%
30天内
¥114.9万
17.7%
未到期
¥84.1万
13.0%

逾期率 87%,151家客户从未付款。 这些数据以前分散在开票系统和收款表里,根本看不出全貌。

4. 城市销售排名

TOP10城市 vs 均线以下城市,轻松定位"该发力但没发力的市场"——比如几个省会城市居然在均线以下。

5. 预算执行率追踪

指标
实际
预算
执行率
收入
¥2.03亿
¥2.00亿
101.4%
费用
¥7,612万
¥7,000万
108.8% ⚠

哪个部门超支、哪个月异常,逐层下钻找到原因。


七、技术门槛有多低?

你只需要会:

  1. Python基础
    (读文件、调函数,不需要写复杂逻辑)
  2. SQL基础
    (SELECT + JOIN + GROUP BY,不需要存储过程)
  3. Windows计划任务
    (点点鼠标就能配)

不需要:

  • ❌ 不需要装数据库软件
  • ❌ 不需要配服务器
  • ❌ 不需要学BI工具
  • ❌ 不需要IT部门审批
  • ❌ 不需要额外预算

八、这套方案适合谁?

条件
要求
数据来源
多个业务系统,都能导出Excel
数据量
百万行以内(SQLite轻松应对)
团队能力
有会用AI的人(或者愿意学的财务人员)
核心需求
跨系统数据分析,月度经营报告

典型适配行业

  • 服装/零售/电商 → 销售+库存+会员分析
  • 制造业 → 销售+生产+采购+库存
  • 餐饮连锁 → 门店+SKU+采购+人工
  • 服务业 → 项目+人天+收入+成本
  • 教培 → 课程+学员+教师+财务

九、你可以这样开始

第一步:盘点数据资产(30分钟)

列出你手里所有能导出Excel的系统,整理成一张表:

系统
导出内容
关键字段
更新频率
ERP
销售订单
日期/产品/客户/金额
每天
财务
科目余额
科目/部门/金额
每月
...
...
...
...

第二步:确定5个最痛的分析问题(20分钟)

不要贪多。先列5个"如果能回答,对决策帮助最大"的问题。

比如:

  1. 各品类/区域的毛利率排名?
  2. 哪个客户欠款最多、欠了多久?
  3. 各月的预算完成率?
  4. 库存周转天数趋势?
  5. 销售费用率变化?

第三步:搭最小可用版本(2天)

  • Day 1:建3-5张维度表 + 2-3张事实表,跑通一条"销售→毛利"链路
  • Day 2:加视图、验证数据准确性,出第一份分析报告

只要跑通一条链路,你就会发现后面是体力活,不是脑力活。


十、写在最后

做了20年财务,我最深的体会是:

财务人员的价值不在"做数据",而在"用数据说话"。

但现实是,80%的时间花在了"从各个系统捞数据、对数据、拼数据"上。

这套方案的意义不在于技术多牛——恰恰相反,它故意选最简单的技术。意义在于:

它让你从"数据搬运工"变回"经营分析师"。

30万行数据、4个系统、零IT投入。一台普通办公电脑,Python+SQLite全搞定。

你的公司,数据打通了吗?


📌 如果你也在用Excel硬扛跨系统数据分析,欢迎留言聊聊你的场景。

🔧 后续我会把整套方案提炼为标准化模板(适用于服装/零售/制造/餐饮/教培等行业),关注后加微信:suwei920920获取。


下图为使用的部分场景截图: