先建数仓还是先做BI,没有适合所有企业的固定顺序。判断时看两组条件:数据基础能不能支撑跨源、统一口径和长期复用;分析任务是不是需要尽快给出业务答案。单源、轻量、验证型任务,可以先做BI;多源、口径冲突、跨部门复用,先把数据基础做薄做对,再让BI接上;判断不清时,纵向切片更稳妥,边交付分析结果边补数据层。
把问题拆开看,数据仓库负责把多源数据整理成可复用的分析基础,BI负责把数据变成报表、看板和可交互的分析结果。两者是供给和消费的关系,顺序之争通常来自资源有限时先投哪一边。
顺序由数据基础和分析任务共同决定
| 你面对的情况 | 更合适的顺序 | 第一条验收线 |
|---|---|---|
| 一到两个同构数据源,一个团队使用,指标稳定,近期要支持经营决策 | BI 先行 | 核心指标和源系统对得上,业务开始用结果做判断 |
| 三个以上数据源,口径已经冲突,跨部门复用,历史数据或合规要求明显 | 数据基础先行,BI 并行 | 一个主题域的明细、汇总和指标可追溯,业务和数据双方签字 |
| 既要尽快看到结果,又不想以后推倒重来 | 纵向切片,先薄后厚 | 一个场景端到端跑通,第二次扩展不需要重做 |
这三种顺序有先后,也有并行。先做BI不等于永远不建数仓,先建数仓也不等于一次性把全企业模型做完。 需要定的是第一阶段把资源投在哪里,以及什么条件下进入下一阶段。
数仓和BI谁依赖谁
数据仓库负责把数据变成可复用的基础
数据仓库面向分析,把来自不同系统的数据整合到一起,保留历史,按业务主题组织。它通常承担四件事:把源系统的数据结构统一起来,把相同实体和指标的口径对齐,保留可回溯的历史,让多个分析场景复用同一份明细和汇总。
阿里云 MaxCompute 文档把数仓分成数据引入层 ODS、公共数据层 CDM、数据应用层 ADS。ODS 存放与源系统结构一致的原始数据;CDM 包含 DIM、DWD、DWS,负责建立一致维度、明细事实和公共汇总指标;ADS 存放面向具体应用的统计结果。这个分层的价值在于,同一份明细和同一个指标只需加工一次,后面做看板、取数、AI 问数都从这里取。
BI负责把数据变成可用的分析结果
BI,即商业智能,负责把数据变成报表、看板、自助分析和指标预警。微软在 Power BI 文档中把 BI 定义为收集、整合、分析和呈现业务信息的技术、应用与实践,目标是支持更好的决策。
微软的文档同时提到,BI 系统通常使用已经进入数据仓库的数据,也会使用实时业务数据。这说明数仓是 BI 常见的上游,BI 也可以直接连接业务库、数据集市或语义层。BI 的价值在消费端,它把表、字段和计算逻辑翻译成业务人员能看懂的趋势、对比、分布和异常,让分析结果进入日常会议和决策。
BI是消费端,数仓是供给侧
| 维度 | 数据仓库 | BI |
|---|---|---|
| 主要任务 | 整合多源数据,保留历史,统一口径,支持复用 | 呈现数据,支持查询、分析和决策 |
| 典型输出 | 明细表、维度表、汇总表、数据集市 | 报表、看板、自助分析、预警 |
| 依赖关系 | 依赖源系统和数据开发 | 可以依赖数仓,也可以直接连接数据源 |
| 失败表现 | 建了很久,业务不用;模型很全,问题没回答 | 报表很多,数字对不上;查询很快,口径很乱 |
BI 是消费端,数仓是供给侧。 数仓没有 BI,分析结果很难进入日常决策;BI 没有数仓,能走多远取决于数据基础。跨源关联、历史回溯、统一口径和跨部门复用越多,BI 越需要一层稳定的数据基础。
先判断数据基础的五个问题
在选顺序之前,先把数据基础盘一遍。下面五个问题不需要复杂评估,数据负责人和业务负责人坐在一起就能回答。
数据源数量和结构
一到两个同构数据源,字段稳定,业务含义清楚,BI 可以先上。三个以上异构系统,用户、订单、商品、渠道各自一套编码,先做数据基础更稳。源越多,键越不统一,直连 BI 的维护成本越高。
指标口径是否冲突
同一个活跃用户、同一个订单金额、同一个转化率,如果销售、运营、财务各有一套算法,先做 BI 容易把冲突搬进看板。此时先建指标字典和语义层,明确指标名称、口径、粒度、过滤条件和负责人,再交付 BI。
指标字典不需要一次写全。先把跨部门争议最大的十个指标定下来,后面按场景补充。
数据量、历史深度和时效
数据量小、只看近期、按天更新,BI 直连或轻量抽取都能应付。数据量大、需要多年历史、要求小时级甚至分钟级更新,就要评估数仓、湖仓或实时链路。微软的 Power BI 文档把两种模式讲得很清楚:Import 查询快,但数据只更新到最近一次刷新;DirectQuery 不导入数据,适合数据量大或需要接近实时的场景,但查询会落到源端,源端要能处理 SQL,部分 DAX 和计算表能力也受限。
时效要求越高,越不能把压力留给业务库。 直连业务库做复杂分析,白天高峰容易影响交易;用只读副本、离线抽取或汇总层,通常更稳妥。
复用范围与治理要求
一个团队、一个场景、指标稳定,BI 先行的收益明显。多个部门、多个产品、多个业务线都要用同一批指标,或者有权限、审计、血缘、数据保留要求,数据基础要先到位。复用范围越大,越需要把公共口径放在 BI 之外统一管理。
团队能力与维护责任
先做 BI 需要有能定义指标、搭数据模型、做权限的人;先建数仓需要有数据开发、数据治理和业务需求管理的人。团队缺少数据工程能力,却启动一个覆盖全企业的数仓项目,项目容易停在模型层。团队只有数据工程师,没有业务分析接口,数仓也容易做成一张张没人用的表。
顺序要和团队能力匹配。 能力不足时,缩小第一阶段范围,或者使用托管程度更高的平台,比硬上完整架构更现实。比较顺序时,要把建设、运维、迁移和培训成本一起算,不只看工具采购价。
| 信号 | 更偏向 BI 先行 | 更偏向数据基础先行 |
|---|---|---|
| 数据源 | 一到两个,结构稳定 | 三个以上,异构明显 |
| 指标口径 | 一个团队维护,争议少 | 多部门各算各的 |
| 数据量与时序 | 近期数据,按天更新 | 多年历史,准实时 |
| 复用范围 | 单场景、单团队 | 多部门、多产品 |
| 治理要求 | 基础权限即可 | 审计、血缘、合规 |
| 团队 | 有分析能力,缺数据工程 | 有数据开发,能承建 |
四类分析任务的顺序不同
数据基础决定能不能做,分析任务决定先做什么。任务类型不同,对数据层的要求也不同。
固定报表和经营看板
指标稳定、维度固定、数据源单一,适合 BI 先行。先把三到五个核心指标、统计粒度、刷新频率和责任人定下来,再做BI 看板。验收时看两件事:数字能不能和源系统对上,业务有没有用它做判断。
这类任务不需要一开始就建大而全的数仓。把第一个看板做对,比把整个模型画全更有价值。
探索式分析和自助取数
探索式分析需要明细数据、灵活维度和较快的响应。只有 BI 工具,没有可用的明细层和语义层,分析师会各自写 SQL,口径很快分散。更合适的做法是先建一个面向场景的明细层和公共维度,再让 BI 或自助取数工具接上。
语义层在这里的作用是把业务指标翻译成统一的查询逻辑。dbt 的文档说明,语义层连接会把查询改写成对底层数据源的 SQL,它本身不替代数据存储。语义层能统一口径,底层数据仍要有可查询、可维护的来源。
用户行为分析
事件分析、漏斗、留存、路径、分群这类任务,关键在事件模型、用户标识和埋点质量。分析对象集中在一个产品,数据源相对单一,可以先用分析平台把行为分析跑起来。需要跨产品、跨系统统一用户标识,或者把行为数据和交易、客服、投放数据放在一起看,就要补数据层。
ThinkingAI 的数据分析能力覆盖事件分析、漏斗分析、留存分析、路径分析、用户分群、RFM、归因分析和 A/B 测试,也提供数据看板。它已服务全球 1500 家企业,接入产品超过 8000 款。如果当前任务集中在单一产品的事件、漏斗和留存,先用分析平台交付结果,等跨源需求出现再补数仓层,通常比等整套数仓建完更快。
跨域分析、AI问数和Agent
跨域分析要把用户、订单、商品、渠道、服务等主题放在同一套维度上。AI 问数和 Agent 在此基础上又多两个要求:指标要能被机器理解,权限和血缘要能追溯。没有统一语义和权限,AI 给出的答案可能看起来很顺,数字却无法复核。
这类任务更适合先把指标字典、公共维度、语义层和权限体系搭起来,再让 BI、AI 问数或 Agent 消费。ThinkingAI 的 Agentic Engine 面向企业级 Agent 场景,支持连接企业数据、系统和流程,支持多 Agent 协作和私有化部署。具体连接器、运行能力和部署条件,需要按企业实际环境确认。
| 分析任务 | 数据要求 | 建议顺序 | 验收重点 |
|---|---|---|---|
| 固定报表、经营看板 | 指标稳定,单源或少量源 | BI 先行 | 数字对得上,业务在用 |
| 探索式分析、自助取数 | 明细、维度、语义层 | BI 与轻量数据层并行 | 口径统一,分析师不再各写一套 SQL |
| 用户行为分析 | 事件模型、用户标识、埋点质量 | 单产品 BI 先行,跨产品补数据层 | 事件完整,漏斗和留存可复算 |
| 跨域分析、AI 问数、Agent | 统一维度、指标语义、权限血缘 | 数据基础先行,BI 并行 | 答案可追溯,权限不越界 |
三种可执行的建设顺序
路线一,BI 先行
适用条件:一到两个同构数据源,一个业务团队,指标相对稳定,近期需要用数据支持经营决策,团队缺少数据工程资源。
做法分五步。第一,列出要回答的业务问题和三到五个核心指标。第二,确认指标口径、统计粒度、维度和刷新频率。第三,连接数据源,优先用只读副本或抽取,避免直接影响交易库。第四,在 BI 里建数据集或语义层,把计算逻辑集中管理。第五,交付看板,收集使用反馈。
这条路线要设三条边界。不要在多源、多口径的场景里堆直连;不要把计算逻辑散落在每个报表;不要等数据量把源库压垮才考虑数据层。 出现第二个数据源、跨部门复用、口径冲突、查询变慢或历史回溯需求时,进入下一阶段。
路线二,数据基础先行
适用条件:三个以上数据源,口径冲突明显,跨部门复用,历史数据、合规或审计要求高,团队有数据开发能力。
做法同样分五步。第一,盘点源系统、业务过程、指标争议和数据质量。第二,选一个高价值主题域,不从全企业铺开。第三,按 ODS、DWD、DWS、ADS 建最小链路,保留历史。第四,建立指标字典、质量规则和权限。第五,在数据集市上交付 BI,让业务用起来。
这条路线的主要风险是周期长、需求变、业务不参与。控制风险的办法是缩小第一个主题域,边建边交付 BI,不把数仓建设变成没有业务反馈的长期工程。
路线三,纵向切片
适用条件:既要尽快看到结果,又有跨源、口径或复用问题;或者暂时判断不清该走哪条路线。
纵向切片从一个高价值业务问题出发,做端到端的最小闭环:场景、指标、最小数据模型、语义层、BI、业务动作、复盘。第一版只建当前场景需要的明细、维度和汇总,公共层保留扩展点,不提前建用不上的模型。
每扩展一次,都由真实需求触发。 第二个场景需要共享维度,就把维度沉淀到公共层;第三个场景需要跨源关联,就补数据接入和明细层;AI 问数需要统一指标,就补语义层和权限。这样数据基础跟着业务长,返工范围可控。
两类企业的阶段路线与验收
下面把两类最常见的企业拆开,给出阶段动作和验收条件。阶段顺序比工期重要。 具体时间取决于数据源复杂度、团队人数和业务配合程度,不宜用一个固定周期套所有企业。
单源轻量试点,BI 先行并预留数据层
第一阶段,定义和原型。盘点数据源、表结构和数据质量;确定三到五个核心指标、粒度、维度和刷新频率;指定指标负责人;做一个可点击的原型。
验收条件:指标定义由业务和数据双方确认;核心数字能和源系统对上;刷新频率满足决策节奏;原型覆盖主要业务问题;至少有一个业务会议或决策使用这个结果。第一阶段的验收线是能支持决策,表建完不算完成。
第二阶段,稳定和扩展。把计算逻辑收进数据集或语义层;建立指标字典和变更记录;增加数据质量检查;在接入第二个数据源之前,先补最小明细层和公共维度。
验收条件:新增数据源后关键指标仍能对上;查询响应不影响日常使用;源库压力可控;指标变更可追溯;第二个分析场景能复用已有维度或指标。
第三阶段,平台化。补历史数据、公共汇总层、权限和血缘;把看板、自助取数、AI 问数接到同一套指标上;建立需求受理和上线流程。
验收条件:两个以上团队复用同一批指标;新场景接入不需要重做底层;权限和审计满足要求;运行成本在预算内。
多源长期治理,薄底座先行并让 BI 并行
第一阶段,盘点和主题域选择。列出源系统、业务过程、主键、指标争议和数据质量问题;选择一个业务价值高、数据相对可得的主题域;明确第一阶段不做什么。
验收条件:源系统清单和责任人明确;主题域范围、业务问题和成功标准明确;指标字典第一版完成;数据质量规则和验收口径确定;没有把全企业建模写进第一阶段。第一阶段的边界要写清楚,不做什么和做什么同样重要。
第二阶段,纵向建模和首个 BI 交付。按 ODS、DWD、DWS、ADS 建一个主题域的最小链路;保留历史;建立公共维度和指标;在汇总层上交付 BI;做数据核对。
验收条件:行数和关键指标可核对;历史数据可回溯;刷新时效满足业务;查询性能可接受;权限和敏感数据处理符合要求;业务负责人确认结果可用。
第三阶段,扩展和治理。复制到第二个主题域;沉淀公共维度、指标和语义层;建立数据质量监控、血缘、变更管理和成本管理;把 AI 问数和 Agent 接入受控范围。
验收条件:公共维度跨主题域一致;指标复用率提升;新增报表或场景的交付时间下降;数据质量问题有发现和处理机制;AI 问数或 Agent 的答案可追溯、权限不越界。
常见失败模式与止损信号
| 症状 | 常见原因 | 处理动作 |
|---|---|---|
| 数仓建了很久,业务不用 | 没有业务负责人,BI 没有并行交付 | 缩小到一个主题域,先交付一个能支持决策的看板 |
| 报表很多,数字对不上 | 指标口径分散在各自报表 | 建指标字典和语义层,指定指标负责人 |
| 直连查询越来越慢,源库压力大 | 多源、大数据量、复杂查询直接打到业务库 | 加只读副本、抽取或汇总层,限制直连范围 |
| 模型越建越大,需求还在变 | 一开始追求全企业覆盖 | 改纵向切片,按场景补层 |
| 分析师各自写 SQL | 缺少明细层、公共维度和自助取数规范 | 建公共层和语义层,收敛重复计算 |
| AI 问数答案无法复核 | 缺少统一指标、权限和血缘 | 先补语义层和权限,再做 AI 问数 |
止损信号比项目计划更早出现。 业务开始绕开平台用 Excel,说明交付结果没有进入决策;同一个指标在三次会议上出现三个数,说明口径治理没有落地;每次加一个报表都要改底层,说明模型没有复用。出现这些信号时,先收窄范围,回到一个高价值场景。
常见问题
小公司只有一两个数据源,可以先做BI吗
可以。前提是指标相对稳定、分析范围集中、数据量不大,并且有人负责指标定义。先把核心指标和口径定清楚,用只读副本或抽取接入,再在 BI 里集中管理计算逻辑。出现第二个数据源、跨部门复用或口径冲突时,再补数据层。
先做BI后补数仓,一定会返工吗
不一定。返工量取决于 BI 层有没有把计算逻辑集中管理。报表里到处写 SQL、指标定义散落,后面补数仓的迁移成本就高;有语义层、指标字典和清晰的源映射,迁移可以逐步替换。先做 BI 时,尽量把口径和逻辑放在可迁移的一层。
数仓建好再上BI是不是更稳
不一定。数仓建好再上 BI,数据基础更整齐,但项目周期长,业务可能在等待中失去耐心。更稳的做法是选一个主题域,数仓和 BI 并行,边建边验收。数仓的完成标准是业务能用,不是表建完。
BI能直接连业务库吗
小数据量、低并发、按天更新的分析可以直连,但要用只读副本、限制查询范围,并监控源库压力。大数据量、复杂关联、准实时分析不适合长期直连业务库。直连是一种接入方式,适合作为起点,范围扩大后要评估抽取、汇总层或数仓。
数仓能替代BI吗
不能。数仓负责存储、整合和加工,BI 负责呈现、交互和支持决策。部分数仓产品带可视化能力,解决的是展示问题,指标定义、权限、使用习惯和业务解读仍需要 BI 和分析团队。两者承担的任务不同。
什么时候需要加数仓
出现以下情况之一,就该认真评估数据层:第二个以上数据源需要关联;同一指标跨部门口径冲突;需要多年历史回溯;数据量大到直连影响源库;有审计、血缘或合规要求;AI 问数或 Agent 要在多主题上使用数据。条件越多,越不适合继续用单点 BI 硬撑。
多久能见效
见效时间取决于第一个场景的范围,不适合用一个固定周期承诺。判断标准可以放在业务结果上:第一个看板能不能支持一次真实决策,第一个主题域能不能让业务少做一次手工取数,第二个场景能不能复用已有指标和维度。第一阶段交付一个可用的结果,比上线一个完整平台更有意义。
参考资料
- 微软文档,Explore data visualization,https://learn.microsoft.com/en-us/training/modules/explore-concepts-of-data-analytics/3-explore-data-visualization
- 微软文档,Semantic model modes in the Power BI service,https://learn.microsoft.com/en-us/power-bi/connect-data/service-dataset-modes-understand
- 阿里云文档,数仓分层,https://www.alibabacloud.com/help/zh/maxcompute/user-guide/divide-a-data-warehouse-into-layers
- dbt 文档,Power BI integration,https://docs.getdbt.com/docs/platform-integrations/semantic-layer/power-bi






