怎样使用DAX公式_数据模型高级计算语言【BI进阶】

2026-05-14 769

本文系统介绍了DAX(Data Analysis Expressions)在Power BI和Analysis Services中的五大核心应用场景,包括动态聚合度量值、静态计算列、衍生计算表、时间智能分析及变量优化技巧,帮助BI从业者掌握数据模型的高级计算能力。

怎样使用DAX公式_数据模型高级计算语言【BI进阶】

若您希望在Power BI或Analysis Services中实现动态汇总、跨表关联运算或基于时间维度的深度分析,熟练掌握DAX公式的编写方法是关键所在。以下是开展数据模型高级计算的具体实施路径:

一、通过度量值实现上下文感知的动态聚合

度量值是一种具备上下文响应能力的动态计算单元,其输出结果会依据报表中的筛选条件、切片器选择或行列分组自动重新计算,广泛应用于求和、平均值、计数等聚合操作。

1. 在Power BI Desktop的“模型”界面中,右键点击任意数据表,从菜单中选择“新建度量值”。

2. 在公式编辑区输入规范语法结构:度量名称 = 聚合函数(表名[字段名]),例如:总营收 = SUM(Sales[金额])

3. 利用IntelliSense智能提示检查语法正确性(如函数参数匹配与括号闭合),确认无误后按下Enter键完成创建。

4. 创建成功后,该度量值将自动显示在字段面板对应表名下,可直接拖拽至图表或表格中进行可视化展示。

二、使用计算列完成行级静态数据派生

计算列在数据加载阶段即完成一次性计算,并将结果持久化存储于模型中,每一行生成一个固定值,适合用于基于当前行其他字段进行逻辑判断或格式转换的场景。

1. 切换至“数据”视图,右键目标表格,选择“新建列”选项。

2. 输入包含列引用的表达式,注意所有列名必须使用方括号包围,例如:利润率 = DIVIDE(Sales[利润], Sales[收入], 0)

3. 当需要引用其他关联表中的字段时,必须通过RELATED函数显式获取,例如:所属品类 = RELATED(‘商品表'[分类名称])

4. 按下回车后,系统立即为整列填充计算结果,该列后续可用于筛选、分组或作为其他计算的基础。

三、借助计算表构建衍生结构或中间汇总表

计算表由DAX表达式直接生成完整的表格对象,常用于创建独立的日历维度表、分类对照表或预汇总数据集,其结构不依赖于原始数据源。

1. 进入“建模”功能区,点击“新建表”按钮,打开DAX公式输入窗口。

2. 调用CALENDAR或DATATABLE等表构造函数生成基础数据,例如:日历表 = CALENDAR(DATE(2020,1,1), DATE(2025,12,31))

3. 结合ADDCOLUMNS函数扩展辅助字段,如年份、季度、是否工作日等,并确保主日期字段具有唯一性和连续性。

4. 创建完成后,选中该表并在“表工具”选项卡中执行“标记为日期表”操作,指定对应的日期字段,以便启用时间智能函数。

四、运用时间智能函数实现周期性业务分析

时间智能函数需依托已正确标记的日期表及有效的主从关系,支持同比、环比、累计等关键业务指标的计算,其结果严格受可视化组件中日期上下文的控制。

1. 确保模型中已存在被标记为日期表的维度表,并与事实表通过日期字段建立单向活动关系。

2. 新建一个度量值,使用TOTALYTD函数计算年度累计值,例如:本年累计营收 = TOTALYTD(SUM(Sales[金额]), ‘日历表'[日期])

3. 利用SAMEPERIODLASTYEAR实现同期对比,例如:上年同期营收 = CALCULATE(SUM(Sales[金额]), SAMEPERIODLASTYEAR(‘日历表'[日期]))

4. 将上述度量值与‘日历表’中的[年份]、[月份]等字段一同放入矩阵或折线图,系统将根据当前筛选上下文自动完成动态计算。

五、引入变量优化公式结构与性能表现

DAX中的变量机制允许通过VAR关键字定义局部命名表达式,有效避免重复计算相同逻辑片段,同时显著提升复杂公式的可读性与调试效率,所有变量声明必须置于RETURN语句之前。

1. 在创建度量值或计算列时,以VAR关键字开头定义首个变量,例如:VAR 当年销售额 = SUM(Sales[金额])

2. 可连续定义多个变量,后续变量可引用前面已定义的变量,例如:VAR 去年销售额 = CALCULATE([当年销售额], SAMEPERIODLASTYEAR(‘日历表'[日期]))

3. 在RETURN关键字后编写最终输出表达式,例如:RETURN DIVIDE(当年销售额 – 去年销售额, 去年销售额)

4. 执行过程中,每个变量仅计算一次,最终由RETURN返回整个表达式的结果值。

1

本站所有素材均整理自互联网CC0 公共版权、官方免费公开、个人非商用及可免费商用资源,仅用于个人学习、办公参考、交流分享。
本站不提供任何付费字体、付费正版模板、影视动漫、明星图片、版权插画、软件破解激活类资源,不售卖任何付费素材,不涉及商业侵权牟利。
所有文件均存放第三方网盘平台,本站不存储任何资源文件。
若无意中侵犯相关版权权益,请联系本站,我们将第一时间删除相关内容。

PC素材网_无版权办公素材_可商用设计素材_零基础办公教程 – pcsucai Office 技巧 怎样使用DAX公式_数据模型高级计算语言【BI进阶】 https://www.pcsucai.com/202605521039.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务