京公网安备 11010802034615号
经营许可证编号:京B2-20210330
在业务数据分析中,“累计趋势” 是衡量业务进展的核心视角 —— 无论是 “年度销售额累计达成情况”“月度用户增长累计规模”,还是 “区域业绩累计排名”,累计曲线都能直观呈现数据随时间的叠加变化,帮助决策者快速判断目标完成进度、识别增长拐点。作为主流的商业智能工具,PowerBI 通过 “DAX 度量值 + 可视化图表” 的组合,可灵活实现各类场景的累计曲线制作。本文将从业务价值出发,分步骤讲解累计曲线的制作逻辑、核心 DAX 公式、可视化配置及实战技巧,让新手也能快速上手。
累计曲线(又称 “累积折线图”)的核心是 “将某一指标按时间维度(或其他维度)逐步叠加,形成连续的趋势线”,其区别于普通折线图的关键在于 “数据的累加性”。在实际业务中,累计曲线的应用场景极为广泛,核心价值体现在三方面:
例如企业年度销售额目标 1000 万,通过 “月度销售额累计曲线”,可实时查看 “截至 3 月累计完成 300 万”“截至 6 月累计完成 580 万”,快速判断是否偏离目标节奏(如 6 月累计未达 50% 目标,则需调整下半年策略)。
普通折线图反映 “单周期数据波动”(如某月销售额骤降),而累计曲线更侧重 “长期叠加效果”—— 例如用户增长中,某月新增用户虽减少,但累计用户仍持续上升,说明业务基本面未恶化,避免因短期波动误判趋势。
可同时展示多个维度的累计趋势(如 “华东 / 华北 / 华南区域累计销售额对比”),快速识别头部区域与滞后区域,为资源倾斜提供数据依据。
在 PowerBI 中制作累计曲线,需满足两个核心前提:规范的数据模型与正确的日期表配置。若数据准备不充分,后续易出现 “累计数据错误”“日期筛选失效” 等问题。
需至少包含两类数据表格,且建立正确的关系:
| 订单 ID | 订单日期 | 销售额(元) | 区域 |
|---|---|---|---|
| OD2025001 | 2025-01-05 | 2800 | 华东 |
| OD2025002 | 2025-01-12 | 1500 | 华北 |
| OD2025003 | 2025-02-03 | 3200 | 华东 |
通过 DAX 公式生成包含 “年、月、日、季度” 等维度的日期表,并标记为 “日期表”(PowerBI 时间智能函数的前提):
// DAX公式:创建2025年完整日期表
日期表 =
ADDCOLUMNS(
// 生成2025年1月1日至2025年12月31日的连续日期
CALENDAR(DATE(2025,1,1), DATE(2025,12,31)),
"年份", YEAR([日期]), // 提取年份(如2025)
"年月", FORMAT([日期], "YYYY-MM"), // 格式化年月(如2025-01)
"季度", "Q"&FORMAT([日期], "Q"), // 提取季度(如Q1)
"月份序号", MONTH([日期]) // 月份序号(1-12,用于排序)
)
关键操作:生成日期表后,右键点击表格 → 选择 “标记为日期表” → “标记为日期表”,确保 PowerBI 识别其为时间维度表。
在 “模型” 视图中,将 “业务数据表” 的 “订单日期” 与 “日期表” 的 “日期” 字段建立 “一对多” 关系(业务表为 “多”,日期表为 “一”),确保筛选器可通过日期表联动业务数据。
PowerBI 中累计曲线的核心是 “编写累计 DAX 度量值”,再通过折线图可视化。根据业务需求,可分为 “基础单指标累计”“多维度分组累计”“动态筛选累计” 三类场景,以下逐一详解。
适用于 “单一指标按时间累计” 的场景,例如 “2025 年各月销售额累计”,核心是通过 DAX 的CALCULATE+FILTER函数实现 “截至当前时间的指标累加”。
// 基础累计度量值:截至当前日期的销售额累计
累计销售额(基础版) =
CALCULATE(
SUM('销售数据表'[销售额(元)]), // 待累计的指标(求和销售额)
FILTER(
ALL('日期表'[日期]), // 忽略日期表中“日期”字段的筛选器(确保累计范围完整)
'日期表'[日期] <= MAX('日期表'[日期]) // 筛选“小于等于当前最大日期”的数据(实现累计)
)
)
公式解析:
SUM('销售数据表'[销售额(元)]):计算目标指标(销售额)的总和;
ALL('日期表'[日期]):清除 “日期” 字段的默认筛选(如页面筛选的 “2025-03”,确保累计从年初开始);
'日期表'[日期] <= MAX('日期表'[日期]):对日期进行范围筛选,仅保留 “截至当前行最大日期” 的数据(如当前行日期为 2025-03-31,则累计 1-3 月数据)。
点击左侧 “可视化” 面板中的 “折线图”;
X 轴:拖入 “日期表” 的 “年月” 字段(确保时间顺序正确,可通过 “月份序号” 排序);
Y 轴:拖入刚创建的 “累计销售额(基础版)” 度量值;
优化配置:
点击 “格式” → “数据标签” → 开启 “数据标签”,直观显示每个月的累计金额;
调整 “线条颜色”“粗细”,提升图表可读性;
若 X 轴 “年月” 显示拥挤,可设置 “角度” 为 - 45°(格式 → X 轴 → 文本角度)。
| 年月 | 累计销售额(元) |
|---|---|
| 2025-01 | 4300 |
| 2025-02 | 7500 |
| 2025-03 | 12100 |
| 折线图将呈现从 1 月到 12 月逐步上升的累计趋势,清晰展示销售额叠加效果。 |
适用于 “按维度对比累计趋势” 的场景,例如 “华东、华北、华南区域 2025 年销售额累计对比”,核心是在基础 DAX 公式中保留 “分组维度” 的筛选器。
基础版度量值中ALL('日期表'[日期])仅清除 “日期” 筛选,若需保留 “区域” 筛选(如仅累计华东区域数据),需调整为ALLSELECTED('日期表'[日期])(保留其他维度的筛选器):
// 分组累计度量值:支持区域等维度筛选
累计销售额(分组版) =
CALCULATE(
SUM('销售数据表'[销售额(元)]),
FILTER(
ALLSELECTED('日期表'[日期]), // 保留除日期外的其他筛选器(如区域、产品)
'日期表'[日期] <= MAX('日期表'[日期])
)
)
关键差异:ALLSELECTED vs ALL
ALL:清除指定字段的所有筛选(如仅清除日期筛选,保留区域筛选);
ALLSELECTED:保留用户手动设置的筛选器(如切片器选择的 “华东 + 华北”),更适合多维度对比场景。
新建折线图,X 轴仍用 “日期表” 的 “年月”;
Y 轴拖入 “累计销售额(分组版)”;
图例:拖入 “销售数据表” 的 “区域” 字段(自动按区域生成多条累计曲线);
交互优化:添加 “区域” 切片器,用户可自由选择需对比的区域(如仅看华东和华南),折线图会实时更新。
折线图将显示 3 条曲线,分别对应华东、华北、华南区域的累计销售额趋势,可直观对比 “华东累计始终领先”“华北 3 月后增速加快” 等差异。
适用于 “需根据用户筛选动态更新累计范围” 的场景,例如 “通过日期切片器选择‘2025-01 至 2025-06’,累计曲线仅显示该时间段内的累计”,核心是利用MAX('日期表'[日期])响应筛选器。
动态累计无需修改 DAX 公式,分组版度量值ALLSELECTED('日期表'[日期])已支持响应日期筛选器,例如:
当用户通过切片器选择 “2025-02 至 2025-04”,MAX('日期表'[日期])会变为 2025-04-30,累计范围自动调整为 2-4 月;
若选择 “2025-05-10” 单个日期,累计范围为 “截至 5 月 10 日的所有数据”。
点击 “可视化” 面板中的 “切片器”;
拖入 “日期表” 的 “日期” 字段,设置切片器类型为 “介于”(支持选择日期范围);
测试交互:选择 “2025-03-01 至 2025-05-31”,折线图的累计曲线将从 3 月开始,截至 5 月结束,动态匹配筛选范围。
结合实际业务需求,在累计曲线基础上添加 “目标线”,形成 “实际累计 vs 目标累计” 的对比图表,帮助判断目标达成情况。
假设企业 2025 年每月销售额目标为 5000 元,年度目标 60000 元,可通过 “新建表” 录入目标数据:
// 新建销售额目标表
销售额目标表 =
DATATABLE(
"年月", STRING, "月度目标(元)", INTEGER,
{
{"2025-01", 5000}, {"2025-02", 5000}, {"2025-03", 5000},
{"2025-04", 5000}, {"2025-05", 5000}, {"2025-06", 5000},
{"2025-07", 5000}, {"2025-08", 5000}, {"2025-09", 5000},
{"2025-10", 5000}, {"2025-11", 5000}, {"2025-12", 5000}
}
)
建立 “销售额目标表” 与 “日期表” 的关系(通过 “年月” 字段关联)。
// 累计目标度量值
累计销售额目标 =
CALCULATE(
SUM('销售额目标表'[月度目标(元)]),
FILTER(
ALLSELECTED('日期表'[年月]),
'日期表'[年月] <= MAX('日期表'[年月])
)
)
折线图 X 轴:“日期表”[年月];
Y 轴:添加 “累计销售额(分组版)” 和 “累计销售额目标” 两个度量值;
图例:自动显示 “累计销售额(分组版)”“累计销售额目标”,可重命名为 “实际累计”“目标累计”;
格式优化:将 “目标累计” 线条设置为 “虚线”,颜色改为红色,与 “实际累计” 的蓝色实线形成对比。
若 “实际累计” 曲线在 “目标累计” 上方(如 3 月实际累计 12100 元,目标累计 15000 元 → 未达标);
若 6 月实际累计 32000 元,目标累计 30000 元 → 超额达标,可通过数据标签直观查看差额。
在制作累计曲线时,新手易遇到 “数据错误”“图表异常” 等问题,以下是高频问题的排查方法:
原因:业务数据表存在重复行(如同一订单被多次录入),或表关系设置错误(如 “多对多” 关系)。
解决方案:
检查业务数据:通过 “表格可视化” 展示原始数据,排查重复行(可使用DISTINCTCOUNT('销售数据表'[订单ID])验证订单唯一性);
修正表关系:确保 “日期表” 与 “业务表” 为 “一对多” 关系(日期表为 “一”,业务表为 “多”),避免 “多对多” 关系导致的重复计算。
原因:未使用独立日期表,直接用业务表的 “订单日期”(如周末无订单,日期缺失导致断点)。
解决方案:
删除业务表的 “订单日期”,改用独立 “日期表” 的 “日期” 字段;
确保日期表覆盖完整时间范围(如全年 365 天),无日期缺失。
原因:FILTER函数中误清除了分组维度的筛选器(如用ALL('日期表')而非ALL('日期表'[日期]),清除了日期表的所有字段筛选)。
解决方案:
对于按年、季、月的累计,可使用 PowerBI 的时间智能函数(如TOTALYTD/TOTALQTD/TOTALMTD)简化公式,减少手动编写FILTER的复杂度:
// 按年度累计(时间智能函数版)
累计销售额(年度) = TOTALYTD(SUM('销售数据表'[销售额(元)]), '日期表'[日期])
// 按季度累计(时间智能函数版)
累计销售额(季度) = TOTALQTD(SUM('销售数据表'[销售额(元)]), '日期表'[日期])
优势:TOTALYTD自动识别 “年度” 范围,无需手动筛选 “小于等于当前日期”,公式更简洁。
避免使用 “累计 1”“销售额 2” 等模糊命名,建议按 “指标 + 维度 + 场景” 命名,例如:
“累计销售额(区域对比版)”;
“累计用户数(年度目标对比)”,方便团队协作时快速理解度量值用途。
根据业务需求选择合适的时间粒度(日、周、月、季):
业务监控(如日报):用 “日” 粒度累计;
战略复盘(如季报):用 “月” 或 “季” 粒度累计,避免粒度过细导致图表拥挤。
除了目标线,还可添加 “平均值线”“达标线(如目标 80%)”,帮助更全面分析:
点击折线图 → “分析” → “参考线” → “添加”;
选择 “Y 轴”,设置参考线类型(如 “固定值”“平均值”),例如设置 “固定值” 为 40000(年度目标的 66.7%),直观判断是否达成年中目标。
PowerBI 制作累计曲线的核心并非复杂的可视化操作,而是对 “累计逻辑的 DAX 实现” 与 “数据模型的合理设计”—— 独立日期表是基础,正确的 DAX 度量值是核心,场景化的可视化配置是关键。无论是单指标累计、多维度对比,还是动态筛选,只要掌握 “数据准备→DAX 编写→可视化配置” 的流程,结合时间智能函数与实战技巧,就能快速制作出贴合业务需求的累计曲线。
在实际应用中,累计曲线并非孤立存在,可结合切片器、卡片图、表格等组件,构建完整的 “业务进度监控仪表盘”(如 “年度销售额累计仪表盘” 包含累计曲线、目标达成率卡片、区域排名表格),让数据更直观地支撑决策。对于新手而言,建议从基础单指标累计入手,逐步尝试分组累计与目标对比,通过反复调试 DAX 公式与可视化配置,熟练掌握累计曲线的制作方法。
若你在实操中遇到具体问题(如某类数据的累计公式编写、特定场景的图表优化),可提供详细的业务场景与数据结构,我会进一步给出针对性解决方案。

数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
【核心关键词】产品、经营、客户、调研、销售额、宏观、会计行业、客户满意度、发展趋势、经营状况、数据分析、竞争对手、数据 ...
2026-07-14问卷调查是市场调研、用户研究、社会调研与产品分析的核心数据采集方式。问卷数据大多以分类数据为主,例如用户性别、年龄分层、 ...
2026-07-14 很多数据分析师画过趋势图、做过业绩预测,但当被问到“这个月销售额增长20%,到底是长期趋势自然增长,还是促销活动的短期 ...
2026-07-14在数据分析、业务效果验证、AB实验扩展、行业对比等场景中,我们经常需要对比三组及以上样本的均值差异,例如不同区域的客单价对 ...
2026-07-13在互联网产品运营、用户生命周期管理与商业化数据分析中,留存指标是判断产品价值、用户满意度与商业模式健康度的核心基准。常规 ...
2026-07-13 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-07-13【核心关键词】统计学、互联网、知识、课程、学生、数学、软件、招聘、数据分析、实习经历、机器学习、理论基础、业务思维、统 ...
2026-07-10在互联网运营、产品设计、市场营销与商业数据分析领域,所有转化、成交、复购行为的底层逻辑,都依托于用户决策流程。用户从产生 ...
2026-07-10 很多数据分析师能熟练地计算指标、搭建标签体系,但当被问到“画像到底在解决什么问题”“画像和标签是什么关系”“画像如何 ...
2026-07-10数据透视表是数据分析中最常用、最高效的汇总分析工具,具备快速分组、聚合计算、维度拆解、数据可视化等优势,能够轻松完成求和 ...
2026-07-09在统计学、CDA数据分析、机器学习与商业数据研究中,正态分布是最基础、最重要的数据分布形态。绝大多数参数检验、数据建模、指 ...
2026-07-09 很多分析师在设计标签时思路清晰,但真到落地环节却面临“数据在手,不知如何转化为可用标签”的困境:或因加工方式选择不当 ...
2026-07-09【核心关键词】采购、周期、原材料、企业、产品、成本、要素、库存、供应商、数据分析、生产计划、生产制造、加工制造、技术工 ...
2026-07-08在数据分析、特征工程、机器学习建模的工作流程中,原始数据往往包含多个不同维度的数值指标,例如客户交易数据中的消费金额、交 ...
2026-07-08 很多分析师每天和数据打交道,但当被问到“标签是什么”“标签和指标有什么区别”“标签体系如何设计”时,却常常答不上来。 ...
2026-07-08商业谈判是企业采购合作、渠道签约、价格议价、项目合作、客户签约的核心关键环节,直接决定企业的合作成本、利润空间与经营风险 ...
2026-07-07在数据分析、业务效果验证、AB 测试、学术研究等场景中,T 检验是假设检验体系里最基础、应用最广泛的统计方法,也是均值差异分 ...
2026-07-07 很多数据分析师每天都在写SQL,但当被问到“数据查询语言(DQL)的本质是什么”“SELECT语句中各子句的书写顺序与实际执行顺 ...
2026-07-07【核心关键词】转化率、企业、策略、岗位、互联网、拆分、产品、运营、分析师、指标体系、数据分析、用户画像、数据诊断、产品 ...
2026-07-06在数据分析工作中,文本数据处理是高频刚需场景,用户评论、客服工单、日志信息、调研问卷、商品文案等数据都包含大量文本内容。 ...
2026-07-06